android - 存储应用内结算状态

标签 android in-app-purchase

我正在开发一个应用程序,您可以在其中删除广告并通过应用程序内结算升级解锁一些内容。

我的问题是:如何判断应用是否升级?它必须离线工作,所以在购买状态改变后,应用程序必须知道它是否升级了。我的想法是存储使用 sharedfreferences 加密的主要 gmail 帐户地址。这样,sharedpreferences 文件仅适用于一个帐户,因此人们无法通过共享它来免费获得付费内容。但是使用电子邮件地址等个人信息需要有风险的前提条件,因此用户可能不会下载该应用程序。

这个问题有没有解决方案,可以离线工作,不需要个人信息?

最佳答案

我对SharedPreferences的理解是应用程序存储的任何数据都是该应用程序的私有(private)。例如,使用 putString(),您可以在用户购买升级时散列并存储一些东西某物 可能是他们的电子邮件地址、交易 ID 的哈希值,这并不重要。

然后在启动时,检查此 key 是否存在,并根据结果显示或删除广告。

关于android - 存储应用内结算状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8980885/

相关文章:

android - 有什么办法可以避免在 Android 中使用 instanceOf 吗?

android - Firebase-Android,长时间闲置后无法保存数据

ios - ios 中的自动续订订阅

ios - restoreCompletedTransactionsFailedWithError : Error Code 0 (SKErrorUnknown) on Cancel

app-store - 首先要提交的内容:通过应用二进制购买应用?

android - PreferenceActivity 中的变量

android - 即使在恢复出厂设置后如何防止卸载

android - 我可以以编程方式截取主屏幕的屏幕截图,而无需生根我的 android 设备吗?

android - 您是此应用的 Beta 测试员,未出现在 Google Play 商店中

ios - 应用内购买 iOS 6