Android 在设备上存储应用内项目数据
我想在我的应用程序中添加应用程序内购买功能,我想知道存储产品可用数量(例如100枚硬币)的推荐方法 具有root访问权限的用户可以:Android 在设备上存储应用内项目数据,android,encryption,in-app-purchase,Android,Encryption,In App Purchase,我想在我的应用程序中添加应用程序内购买功能,我想知道存储产品可用数量(例如100枚硬币)的推荐方法 具有root访问权限的用户可以: 访问/操作应用程序存储的未加密数据(以便他可以更改 硬币数量) 保存加密(或模糊)的数据,然后稍后替换它以恢复数据 说明他什么时候有更多的硬币 因此,即使使用加密,也相对容易作弊。我的问题是: 我应该走得比encrytion更远吗?(这样做值得吗?) 用户滥用此功能是否常见 有没有更好的方法来存储物品计数 这种做法是什么 在本地存储您的游戏世界货币,让交易在
- 访问/操作应用程序存储的未加密数据(以便他可以更改 硬币数量)李>
- 保存加密(或模糊)的数据,然后稍后替换它以恢复数据 说明他什么时候有更多的硬币
- 我应该走得比encrytion更远吗?(这样做值得吗?)
- 用户滥用此功能是否常见
- 有没有更好的方法来存储物品计数
- 这种做法是什么
consumerpurchase
方法发送到
应用内计费服务并传入purchaseToken
字符串值
标识要删除的采购的。purchaseToken
是一部分
Google在INAPP\u PURCHASE\u data
字符串中返回的数据的
在成功的购买请求后播放服务。在这个例子中,
您正在记录标识为的产品的消费量
令牌变量中的purchaseToken
int response=mService.consumerpurchase(3,getPackageName(),令牌)代码>
警告:不要在主线程上调用consumerpurchase
方法。
调用此方法会触发网络请求,该请求可能会阻止
主线程。相反,创建一个单独的线程并调用
consumerpurchase
方法
您有责任控制和跟踪应用程序内产品的运行方式
已向用户提供。例如,如果用户在游戏中购买
货币,你应该更新玩家的库存量
购买的货币
至于如何在离线时存储和管理库存,您提到的方法听起来不错。加密不会有什么坏处,但只要你在合理的时间间隔内与谷歌和解,就可能没有必要。只有一小部分人真正尝试利用应用程序。大多数用户不使用root,而对于那些使用root的用户来说,他们实际上不知道如何利用这些漏洞。如果您仍然担心它,是的,请继续加密。这应该足以让绝大多数用户保持诚实。即使你在脱机时用字符串加密密码并在本地存储,那些付出更多努力的人仍然能够对你的应用程序进行反向工程,找到字符串来解密密码。混淆你的应用程序只是为了让黑客更加努力工作,但并非不可能。否则,黑客根本就不存在。最好保存在服务器中,如果用户离线怎么办?我仍然必须将其存储在本地以允许脱机模式。在本地保存这些数据总是容易受到root访问的攻击。我知道。这就是我问这个问题的原因:)我必须将其存储在本地,这是一个常规的移动应用程序。离线模式是必须的。为什么不将它们存储在服务器上,并且不允许在离线时进行购买呢?是的@hungryghost,这一点很好。我认为你不应该为少数作弊者操心,因为绝大多数人甚至不会尝试黑客或利用应用内黑客。