我有一个应用程序,它为用户提供4个免费令牌以启用各种功能。使用免费令牌后,我希望用户通过应用内购买购买更多(使用版本3)。如何通过卸载然后重新安装应用程序来阻止用户获得更多免费令牌?该应用程序确实有一个可以维护记录的后端服务器,但我想知道这种情况的最佳实践。
感谢您的帮助。
答案 0 :(得分:0)
此方案的最佳做法是在后端服务器上保存数据。您需要将用户记录到远程数据库,然后每次都应该从后端服务获取信息。
答案 1 :(得分:0)
可以有两种方式。
1)在服务器上存储一些键值对,每当用户第一次启动你的应用程序时,检查/更新。
2)在本地存储一些键值对(您的应用空间将被删除),因此尝试在某个位置使用可疑名称在SD卡上写入文件,该用户应该认为该文件是系统文件。加密它就完成了。
写一个共享首选项,当用户第一次安装你的应用程序时(从主活动)你应该添加一个boolen。如果此值不可用,请尝试使用之前在服务器或sdcard上写入的存储键值对进行检查
答案 2 :(得分:0)
这很大程度上取决于你想要多么彻底。你有三个选择:
您可以使用几条路线同步到后端服务器。您可以根据设备ID识别用户,并在服务器上设置一个标志,表明该设备已经兑换了它的权利。
您可以通过以下方式访问设备ID:
import android.provider.Settings.Secure;
private String androidId = Secure.getString(getContext().getContentResolver(),
Secure.ANDROID_ID);
这将是每个设备,人们可以通过使用多个设备获得更多。在这种情况下,您可以与他们的Google Account
配对,只允许每个Google帐户兑换一次与您的服务器同步的帐户。
有关如何在Android上唯一标识用户的详情,请参阅 Android开发者网站 here上的这篇Google文章。