2

我正在制作一个应用程序。它有免费试用版和高级版。免费版作为高级版运行 7 天,之后会提示用户购买高级版并退出。为此,我想出了一些想法,例如作为:

1)唯一识别设备并将该唯一ID和日期发送到服务器。并在启动时检查此设备的应用程序是否超过7天,如果有则阻止它。当用户卸载应用程序并在注册后再次安装时服务器应用程序将被阻止。我已经阅读了一些唯一识别设备的方法。但是正如这个链接所暗示的那样,它们都不可靠,并且不适用于每个设备和操作系统版本。

2)我可以将一个文件写入 sdcard 指示应用程序安装,并在第一次运行时检查该特定文件以检测重新安装。但用户可以轻松删除该文件并重新安装应用程序,从而获得另一个试用 7不能接受的天数。

有没有办法可以实现我的目标?

4

2 回答 2

2

这些事情是可以做到的,但我鼓励你再想一想。您提出的建议对您的用户不利,对用户不利通常意味着较低的应用销售量。

该应用程序每次启动时都必须检查您的服务器。因此,如果我没有数据连接或您的服务器已关闭,我将无法使用它?即使我付了钱?

无论你做什么,它都可能被打败,特别是如果使用日期绑定的东西。

我建议您考虑为免费版本中没有的高级版本增加价值,这将鼓励人们购买。或者用广告支持免费的,很多人会很乐意支付合理的金额来摆脱它。我建议不要发布以某种方式瘫痪的免费版本,而是让您的付费版本对用户有价值。

于 2012-04-23T07:21:47.307 回答
0

我的建议是——

试用版 -

  • 启动时向服务器发送时间戳密钥(保存当前时间和设备序列号以及试用或高级 ID 的十六进制字符串的密钥)。在服务器中,如果没有存储任何密钥,这意味着应用程序是第一次启动并保存以供将来检查。服务器将向设备发送时间戳密钥(带有服务器当前时间的密钥)。设备会将这个密钥保存在本地数据库中。
  • 下次再次启动应用程序时,密钥将被发送到服务器,服务器将从密钥中提取时间和序列号,并检查第一个密钥(确定为首次启动),如果超过 7 天,则确定应用程序有已过期。
  • 如果网络不可用,请不要启动应用程序。

    高级版 -

  • 从密钥中提取试用版或高级版 ID,高级版不会使应用程序过期,只需继续使用该应用程序即可。

    如果用户更改设备时间不会妨碍此逻辑,它将适用于所有情况。

  • 于 2012-04-23T09:23:07.353 回答