我已经发布了 Android应用,您可以在其中看到特定对象列表以及有关它们的详细信息。列表每天都会更改,但某些对象可能会再次出现。 应用程序通过HTTP与PHP服务器通信,并定期提取对象列表。
我现在计划扩展应用程序,以便评估对象和添加评论类似于在Android市场中完成的方式。我想避免强迫用户注册帐户以便发表评论。
我看到两个问题:
所以我的问题是:
答案 0 :(得分:7)
您可以试用Socialize SDK这是一个开源的,并且是一个非常好的SDK,可用于您正在寻找的评级和评论。它已经内置了一个功能完善的评论系统以及一个“喜欢/爱”的设施,并与FB和Twitter分享。每个“实体”(在您的情况下为对象)可以具有与之关联的元数据。因此,您所要做的就是构建/使用评级小部件,然后使用附加到您的对象的实体发送该评级。显示您的评级/评论就像从Socialize中检索它们一样简单。
每个对象(来自您应用的元素)都应该与一个具有URL形式的唯一键的实体相关联 - 有点像识别您的项目的主键。此实体可以包含元数据 - 您可以代表对象插入的任何数据。完成后,您可以随时检索该元数据。
我一直在使用Socialize一年左右。他们在这段时间里已经成熟,并且总是渴望成为最好的人。如果您想要查看“行动中的社交” - Constitution of India
,这里有一个指向我的应用的链接查看底部的Socialize Bar。它可以根据您的需求进行定制。
更重要的是 - 社交是免费的。
关于你的问题:
答案 1 :(得分:2)
对于身份验证,您可以像StackOverflow那样使用OpenID或Facebook authentication。一旦您进行了身份验证,就很容易将每个对象的每个用户的注释数量限制为一个。就垃圾邮件而言,您可以遵循StackOverflow的模型并允许用户向上或向下投票或标记为垃圾邮件。也许拥有评论意见的用户可以拥有更多权力并能够将评论标记为垃圾邮件。
答案 2 :(得分:2)
你需要某种速率限制。 I've used this one in this example before.
所以你需要一个包含用户ID的表和他们剩下的api调用次数,然后是他们最后一次api调用的时候。然后在每次调用方法时使用该算法更新表中的值。
答案 3 :(得分:0)
通读这个,我认为应该可以为每个案例创建一个UUID: http://android-developers.blogspot.de/2011/03/identifying-app-installations.html
然后保留一个隐藏的api密钥,这个密钥是硬编码的,或者至少得到的每次计算都是相同的,或者受到使用时间影响的谜语样式。但你永远不会确定,它不会被破解者/黑客发现并且可能被滥用,你将永远遇到这个问题。
使用用户的UUID + api-key进行身份验证。