Upvote Downvote взаимодействие без входа - PullRequest
1 голос
/ 24 марта 2012

Приложения, такие как FML, TWI и т. Д., Которые отображают предоставленные пользователем данные, имеют возможность повышать или понижать количество представленных предложений, таких как «Я согласен», «Я не согласен», «нравится», «не нравится».

Пользователи могут голосовать независимо от того, вошли ли они в приложение любым способом. Анонимные пользователи могут голосовать, и он сохраняет свой голос за эту запись / запись.

У меня нет проблем с увеличением голосов «за» или «против» в базе данных моего сервера, когда общедоступный пользователь голосует, но как эти приложения отслеживают голоса пользователей в своем приложении, чтобы они не могли снова и снова отдавать голоса за тот же элемент и может также визуально показать, каким образом они проголосовали, если они снова войдут в это представление?

Я не буду хранить на своем сервере элементы, за которые проголосовал пользователь, и в каком направлении голосование было, поскольку они не зарегистрированы / не зарегистрированы в пользователях.

Есть идеи, как мне это реализовать?

Спасибо

Ответы [ 2 ]

2 голосов
/ 24 марта 2012

Вместо того, чтобы хранить каждый оцениваемый элемент в приложении, вы можете создать уникальный идентификатор для каждого устройства и сохранить эту информацию на своем сервере.

Загрузить идентификатор пользователя из NSUserDefaults и, если он не существует, создатьновый и сохраните его.

NSString *userID = [[NSUserDefaults standardUserDefaults] objectForKey:@"UserID"];
if (!userID) {
    CFUUIDRef theUUID = CFUUIDCreate(NULL);
    userID = (__bridge_transfer NSString *)CFUUIDCreateString(NULL, theUUID);
    CFRelease(theUUID);
    [[NSUserDefaults standardUserDefaults] setObject:userID forKey:@"UserID"];
}

edit: я пропустил часть "покажи пользователю, как он проголосовал".Таким образом, вы все равно должны хранить его локально.

0 голосов
/ 24 марта 2012

Каждый предмет должен иметь какой-то идентификатор, верно?Сохраните это в своем приложении вместе с их голосованием.Если идентификатор существует в вашем магазине, не позволяйте им голосовать, если не существует, разрешите им голосовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...