是否建议在 SharedPreference 中存储加密的 mIsPremium 标志

Posted

技术标签:

【中文标题】是否建议在 SharedPreference 中存储加密的 mIsPremium 标志【英文标题】:Is it advisable to store encrypted mIsPremium flag in SharedPreference 【发布时间】:2013-01-21 11:03:53 【问题描述】:

TrivalDrive In-app Billing Version 3 API 示例中,我可以看到在启动过程中,应用程序将通过与 Google Play 服务通信来检查用户是否购买了高级功能(mIsPremium 标志)。

Google Play 服务会缓存这些信息,这样这样的查询就可以足够快地进行,而不需要经过网络层。但是,用户有时可能会清除 Google Play 的缓存。

因此,为了确保应用的响应能力,是否建议在 SharedPreference 中存储一个加密的 mIsPremium 标志,这样即使 IPC 每次都与 Google Play 服务通信,我们仍然可以知道用户是否购买了该特定的应用内购买高级功能?

【问题讨论】:

【参考方案1】:

您可以在您的 SharedPreferences 中缓存 mIsPremium 标志,并在您的应用中使用此值,直到您从 Google Play 应用中收到真正的值。

这样,您就不必等待商店的答复了。

此外,您可以在每次收到来自 Store 的回调时覆盖 SharedPreferences 中的值。

【讨论】:

以上是关于是否建议在 SharedPreference 中存储加密的 mIsPremium 标志的主要内容,如果未能解决你的问题,请参考以下文章

Android SharedPreference 安全性

SharedPreference.Editor的apply和commit方法异同

整数共享首选项始终返回0

jquery中怎么访问session中存的对象?

Android中SharedPreference多进程数据共享出错

sharedpreference无法读取按钮状态