我正在尝试实施应用内计费,我的应用程序唯一销售的是每月订阅。我已经复制了 Android 提供的《地下城》示例,并且它可以工作,但对于我必须出售的一件东西来说,它似乎过于复杂(而且我知道无论如何我都不应该复制它)。
Dungeons 示例有一个 PurchaseDatabase 类,用于跟踪用户的所有购买行为。由于我的应用程序中只有一次购买,而不是拥有数据库,因此似乎只拥有 SharedPreference/boolean“isPurchased”之类的东西并在启动应用程序时更新/检查更有意义。 .现在我对安全性了解不多,但这似乎敲响了警钟,而且很可能很容易被黑客攻击。
那么,我该如何存储/恢复这一数据呢?无论如何,我需要保存和跟踪什么?
编辑:找到这个应用内计费。如何保存用户已支付的信息? https://stackoverflow.com/questions/12211255/in-app-billing-how-to-store-information-that-user-has-paid?rq=1。看来我应该使用 SharedPreference,但这个问题仍然存在:我是否只保存一个布尔值“isPurchased”,还是应该跟踪 orderId、developerPayload 等?
如果您只是在共享首选项中保存一个标志,则任何拥有 root 设备的用户都可以随意翻转该标志并无需付费即可“订阅”。所以你至少应该做一些混淆。这是一个样品方式 http://developer.android.com/guide/google/play/licensing/adding-licensing.html#impl-Obfuscator去做吧。此外,还有一个API https://developers.google.com/android-publisher/v1/检查订阅状态,因此您应该定期检查以确保订阅有效。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)