当谷歌存储您购买的Android应用时,我想知道他们是否以某种方式提供可用于检查某个应用是否已购买的网络服务。对我来说,这似乎是区分免费和付费用户的最安全方式。
它不仅可以打败盗版,还可以通过此项服务进行一次性检查,从而管理合法注册用户的数据库。
你对此有什么解决方案?
答案 0 :(得分:1)
Google为您提供了一个库。 See here.
请注意,这在未受保护的应用中已遭到破坏,因此您应该使用类似ProGuard的内容。上面的链接包含更多信息。
最后,请记住,Android Market不是Android的唯一应用市场。亚马逊有自己的DRM。
答案 1 :(得分:0)
在这个特殊时刻,有一种方法可以检查。
Android电子市场通过Google Checkout对购买进行身份验证,但Google尚未实施Checkout API以同步市场购买。因此,检查订单状态的调用不起作用。也许谷歌不希望开发者收到客户的电子邮件?无论哪种方式,我不知道为什么它不存在,在我看来,如果谷歌只是提供这项服务,我们可以实现一个更优越的安全系统,更好地利用混淆方法。就像目前一样,黑客可以简单地寻找像ILicenceService这样的特定类并挂钩它。
目前唯一的方法是下载当前购买清单。您可以使用经过身份验证的http调用来执行此操作。这样做的缺点是非常大。首先,它提供的列表只延伸了31天(所以你必须确保你保留一切)。其次,你必须至少每十分钟打电话和解析一次。实际上比这更快,大多数用户想要在购买时玩他们的游戏。第三,如果您的服务或服务器出现故障,这是您的用户几乎立即请求的宝贵信息。
我不知道有多少开发人员正在使用这个过程,我考虑过,但我只是会继续向Google抱怨更好的方法。
答案 2 :(得分:0)
你可以躲开LVL。我刚刚实施了一个类似的系统。
即使LVL检查失败,您也可以对自己的服务器执行检查,并允许试用期等。