0

我有一个应用程序,它为用户提供 4 个免费令牌以启用各种功能。使用免费代币后,我希望用户通过应用内购买购买更多(使用版本 3)。如何通过卸载然后重新安装应用程序来防止用户获得更多免费令牌?该应用程序确实有一个可以维护记录的后端服务器,但我想知道这种情况下的最佳实践。

谢谢你的帮助。

4

3 回答 3

0

此方案的最佳实践是将数据保存在后端服务器上。然后,您需要将用户记录到远程数据库,每次您应该从后端服务获取信息。

于 2013-01-24T15:24:34.303 回答
0

可以有两种方式。

1)在服务器上存储一些键值对,并且每当用户第一次启动您的应用程序时,都会使用它进行检查/更新。

2)在本地存储一些键值对(您的应用程序空间将被删除),因此尝试在sdcard上的某个位置写入一个文件,名称可疑,用户应该认为该文件是系统文件。加密它并完成。

编写一个共享首选项,当用户第一次安装您的应用程序时(从主要活动),您应该在其中添加一个布尔值。如果此值不可用,请尝试检查您之前在服务器或 sdcard 上写入的存储键值对

于 2013-01-24T15:30:14.383 回答
0

这在很大程度上取决于您想要做到的彻底程度。你有三个选择:

  • 将数据存储在您的私人存储中将导致在用户清除您的数据或卸载您的应用程序时将其删除,因此已被淘汰。
  • 您可以使用 SD 卡(或内部存储,远​​离您的应用程序私人商店),将文件添加到包含配置的文件中,该文件不会因应用程序删除而被删除(但用户可能会明智地使用现有的文件和意识到它的作用)。这样就更傻了。
  • 最好的选择当然是与您的后端服务器同步。

您可以通过几条路线同步到后端服务器。您可以根据设备 ID 识别用户,并在您的服务器上设置一个标志,表明该设备已经兑换了它的权利。

您可以通过以下方式访问设备 ID:

import android.provider.Settings.Secure;

private String androidId = Secure.getString(getContext().getContentResolver(),
                                                            Secure.ANDROID_ID); 

这将是每个设备,人们可以通过使用多个设备获得更多。在这种情况下,您可以与他们配对,Google Account每个 Google 帐户只允许一次兑换,您将与您的服务器同步。

有关如何在 Android 上唯一标识用户的更多信息,请在此处查看Android 开发者网站 上的这篇 Google 文章。

于 2013-01-24T15:32:57.353 回答