如何最好地添加评论/评分系统到Android应用程序

我已经发布了一个Android应用程序 ,你可以看到一个特定的对象列表和详细的信息。 该列表每天都在变化,但有些对象会再次出现。 应用程序正在通过HTTP与PHP服务器进行通信,并定期提取对象列表。

我现在计划扩展这个应用程序,使它能够评估对象,并添加一个类似于在android市场上做评论 。 我想避免强制用户注册一个可以发表评论的帐户。

我看到两个问题:

  • 评论系统可能被垃圾邮件发送者滥用
  • 可以从其他系统添加评论

所以我的问题是:

  • 如何保护系统免受垃圾邮件
  • 如何使用服务器validation应用程序?
  • 如何限制每个用户和对象的评论数量
  • 怎么样的Android设备ID? 它是否足够使用它作为用户的标识符?
  • 你看到了哪些其他问题?

Solutions Collecting From Web of "如何最好地添加评论/评分系统到Android应用程序"

您可以试用Socialize SDK ,它是开放源代码的,是一个非常好的SDK,用于评估和评论您正在寻找的。 它已经内置了一个function完善的评论系统,还有一个“喜欢/喜欢”的设施,并分享给FB和Twitter。 每个“实体”(您的案例中的对象)都可以有与之相关的元数据。 所以你所要做的就是构build/使用一个评级小部件,然后将这个评级与附在你的对象上的实体一起发送。 显示您的评分/评论就像从Socialize中检索一样简单。

每个对象(来自你的应用程序的元素)都应该和一个具有URLforms的唯一键的实体相关联 – 有点像主键来识别你的项目。 这个实体可以有元数据 – 你可以代表你的对象插入任何数据。 一旦你这样做,你可以随时检索元数据。

我一直在使用Socialize大概一年。 他们在这个时期已经成熟,并且总是渴望成为他们所做的最好的。 这里是一个链接到我的应用程序,如果你想看到社会化的行动 – 印度宪法

看看底部的社交吧。 它可以根据您的需求进行定制。

印度宪法

更重要的是 – 社交是免费的。

至于你的问题:

  1. 社交网站组件中内置了评论pipe理function,您可以过滤掉任何您感觉不合适的内容。
  2. 社交可以让你通过Facebook和Twitter进行身份validation。
  3. 限制为每个用户一个评论可以通过使用他们的用户和评论API来实现。
  4. Socialize具有匿名身份validation以及社交A / C身份validation。 我相信你可以删除匿名身份validation。 这样可以确保每个用户在评级/评论之前都得到authentication。

对于身份validation,您可以使用OpenOID,如StackOverflow或Facebook身份validation 。 一旦你有他们的身份validation,它应该很容易限制为每个用户每个对象的评论数量。 就垃圾邮件而言,您可以遵循StackOverflow的模式,并允许用户投票评论上下或标记为垃圾邮件。 也许用户评论已被投票的用户将有更多的权力,并能够将评论标记为垃圾邮件。

你需要某种速率限制。 我之前用过这个例子。

所以你需要一个带有用户ID的表格,以及他们离开了多less个api电话,然后当他们最后一个api电话是。 然后使用该algorithm在每次调用方法时更新表中的值。

通读这一点,我认为应该可以为每个案例创build一个UUID: http : //android-developers.blogspot.de/2011/03/identifying-app-installations.html

然后保留一个硬编码的隐藏api密钥,或者至less每次计算得到相同的或受到使用时间影响的谜样式。 但是你永远不能确定,不会被黑客/黑客发现,也可能被滥用,你将永远存在这个问题。

使用user + api-key的UUID进行身份validation。