Android 应用内计费v3-如何正确保存用户数据/交易?

Android 应用内计费v3-如何正确保存用户数据/交易?,android,in-app-purchase,google-play,in-app-billing,Android,In App Purchase,Google Play,In App Billing,请注意,我是在了解如何更好地在我的应用程序中实现和处理应用内计费的过程中提出这个问题的 我刚刚在我的应用中成功实现了应用内计费V3。现在我的问题是,我应该将事务细节存储在数据库中还是服务器上?若有,原因为何 让我解释一下我的情况。在我的应用程序中,我有一个高级升级,用户可以购买它来解锁某些功能。现在,当用户购买升级时,Google Play会处理交易并让我知道购买是否成功。因此,如果购买成功,我将解锁该用户的功能,并存储在首选项中,无论购买是否成功 当应用程序启动时,我(每次)检查产品是否已购买

请注意,我是在了解如何更好地在我的应用程序中实现和处理应用内计费的过程中提出这个问题的

我刚刚在我的应用中成功实现了应用内计费V3。现在我的问题是,我应该将事务细节存储在数据库中还是服务器上?若有,原因为何

让我解释一下我的情况。在我的应用程序中,我有一个高级升级,用户可以购买它来解锁某些功能。现在,当用户购买升级时,Google Play会处理交易并让我知道购买是否成功。因此,如果购买成功,我将解锁该用户的功能,并存储在首选项中,无论购买是否成功

当应用程序启动时,我(每次)检查产品是否已购买,并基于此更新我的应用程序。如果设备未连接到internet,会发生什么情况?我将使用当前的首选项


这种方法的缺点是什么?什么时候会失败?在服务器上存储数据如何帮助我更好地实现?

通过“当前的首选项是什么”,你是指android提供的SharedReference还是指你已经实现的方法?我正在考虑扩展android提供的SharedReference,并加密我存储在其中的任何值。这行吗?加密值的唯一问题是,任何能够对你的应用程序进行反向工程的人都可以看到你是如何加密值的。这将允许他们解密值或加密并保存自己的值。除了在用户每次连接到网络时检查购买情况外,没有其他方法可以解决此问题。通过“当前的首选项是什么”,你是指android提供的SharedReferences还是你已经实现的方法?我正在考虑扩展android提供的SharedReferences,并对其中存储的任何值进行加密。这行吗?加密值的唯一问题是,任何能够对你的应用程序进行反向工程的人都可以看到你是如何加密值的。这将允许他们解密值或加密并保存自己的值。除了在用户每次连接到网络时检查购买情况外,没有其他方法可以解决此问题。