2010-11-11 4 views
10

я уже опубликовал андроида приложения, где вы можете увидеть список конкретных объектов и подробных информаций о них. Список меняется каждый день, но некоторые объекты могут появляться снова. Приложение связывается с сервером PHP через HTTP и периодически вытягивает список объектов.Как лучше добавить комментарий/рейтинг системы для андроид приложения

сейчас я планирую расширить приложение, чтобы сделать возможным скорость объекты и добавить комментарий аналогично тому, как это сделано в Android Market. Я бы хотел, чтобы пользователь не заставлял пользователя регистрироваться в учетной записи для возможности комментировать.

Я вижу две проблемы:

  • Комментарий-система может быть злоупотребляли спамеров
  • Комментарий может быть добавлен из другой системы

Так что мои вопросы:

  • Как защитить систему от спам?
  • Как сделать пройти аутентификацию с помощью сервера?
  • Как ограничить количество комментариев по одному на пользователя и объект?
  • Как насчет идентификатора устройства андроида? Является ли он достаточно уникальным, чтобы использовать его в качестве идентификатора для пользователя?
  • Какие другие проблемы вы видите?

ответ

2

Для аутентификации вы можете использовать OpenID, например StackOverflow, или Facebook authentication. После того, как вы получите аутентификацию, вам будет легко ограничить количество комментариев одним пользователем на объект. Что касается спама, вы можете следовать модели StackOverflow и разрешать пользователям проголосовать за комментарии вверх или вниз или пометить как спам. Возможно, пользователи с комментариями, которые были проголосованы, будут иметь больше возможностей и смогут отмечать комментарии как спам.

+4

Пожалуйста, не используйте (только) проверку подлинности Facebook. Не все имеют или хотят использовать Facebook. – Jess

+0

Есть ли удобный способ аутентификации с помощью OpenID из приложения Android (1.6)? – Tom

2

Вам понадобится какая-то ограничение скорости. I've used this one in this example before.

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

7

Вы можете попробовать Socialize SDK, который является открытым исходным кодом и действительно хороший SDK для оценки и комментирования, который вы ищете. Он уже имеет хорошо функционирующую систему комментариев, встроенную вместе с возможностью «любить/любить» и делиться с FB и Twitter. Каждая «сущность» (объект в вашем случае) может иметь связанные с ней метаданные. Итак, все, что вам нужно сделать, это построить/использовать виджет рейтинга, а затем отправить этот рейтинг с сущностью, прикрепленной к вашему объекту. Отображать свой рейтинг/комментарий так же просто, как получить их из Socialize.

Каждый объект (элемент из вашего приложения) должен быть связан с сущностью, которая имеет уникальный ключ в виде URL-адреса, вроде первичного ключа, чтобы распознавать ваши объекты. Этот объект может иметь метаданные - любые данные, которые вы можете вставить от имени вашего объекта. Как только вы это сделаете, вы сможете получить эти метаданные в любое время.

Я использую Socialize уже около года. Они созревают за этот период и всегда стремятся быть лучшими в том, что они делают. Вот ссылка на одно из моих приложений, если вы хотите увидеть «Общение в действии» - Constitution of India

Посмотрите на панель «Общение» внизу. Его можно настроить для ваших нужд.

Constitution of India

Что больше - Общаться бесплатно.

Что касается ваших вопросов:

  1. Существует комментарий умеренность встроенный в Web Component Общайтесь , где вы можете отфильтровать все, что вы чувствуете, неуместны.
  2. Общение позволяет аутентифицироваться через Facebook и Twitter.
  3. Ограничение одного комментария для пользователя может быть достигнуто с использованием их User и API комментариев.
  4. Общение имеет как анонимную аутентификацию, так и социальную проверку подлинности A12. Я считаю, вы можете удалить анонимный auth. Чтобы обеспечивал аутентификацию каждого пользователя перед оценкой/комментированием.
+0

привет @ ashok-felix. Социализация еще работает. Я проверил их веб-сайт, кажется, не полностью работает. – HassanBakri

+0

Да, это afaik. Я проверил их деятельность Github, и последнее обновление показывает 18 часов назад: P https://github.com/socialize –

+0

yup его активный , но их веб-сайт не позволяет мне регистрироваться (очень важный шаг ... я думаю) проблема существует более 4 месяцев здесь. Https://getsatisfaction.com/socialize/topics/error-500-while-registering – HassanBakri

0

Прочитайте это, я думаю, что это должно быть возможно создать UUID для каждого случая: http://android-developers.blogspot.de/2011/03/identifying-app-installations.html

А затем сохранить скрытый ключ API, который трудно закодированный, или, по крайней мере, получить-х каждый раз вычисляется так же, или в стиле загадки, под влиянием времени, которое оно используется. Но вы никогда не будете уверены, что это не будет обнаружено взломщиками/хакерами и, возможно, подвергнется насилию, у вас всегда будет эта проблема.

Аутентификация с помощью UUID пользователя + api-key.