android - 创建 Android 应用程序的有时限试用版

标签 android time-trial

我已经看到很多关于为 Android 应用程序创建有时限试用版本的线程,但似乎没有一个能够实现我的目的。 几天前,我推出了应用程序的付费版本,现在我想推出试用版,我不想从任何方面削弱它。所以我想对试用版有一个时间限制。我为其创建了不同的包名称。早些时候我使用 LVL,现在我也使用相同的,除了我创建了新的许可证库并更改了 setValidityTimestamp(extras.get("VT")); 到 setValidityTimestamp(String.valueOf(System.currentTimeMillis() + (5* MILLIS_PER_MINUTE)));在服务器管理策略中。

这样我就可以测试试用版是否可以工作 5 分钟,然后给我许可证错误。我将其发布到应用商店并下载,然后发现它仍然工作超过 5 分钟。现在我已经取消发布了。有人可以帮助我创建更好的限时应用程序,用户可以运行一周(比如说)。此外,他不应该能够卸载并重新安装它,然后再次永久使用它。我知道我是否可以将信息写入某个外部文件,但同样可以从 SD 卡中删除该文件,并且用户可以终身免费访问应用程序。

问候 潘卡杰

最佳答案

根据 LVL 当前的功能以及用户对普通手机的控制程度,如果没有服务器端组件,目前无法做到这一点。一旦您的应用程序被卸载,所有痕迹(除了,正如您所指出的,您可能写入 SD 卡的文件,这些文件是用户可见的)都将被删除,因此检查卸载/重新安装的唯一方法是生成一致的、设备特定的标识符,并与服务器组件进行检查,该组件将拒绝此重新安装或接受其作为新的计时试验。即使这也可能被专门的客户欺骗(取决于服务器端组件的行为),因此您需要设计您的软件,以便您的服务器端组件成为该过程的必要部分(即,它不仅仅是许可证检查,它实际上是应用程序功能的一部分)。

如果你想出了一些有效的方法,我很乐意听到,但我想说你运气不好。

关于android - 创建 Android 应用程序的有时限试用版,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10462720/

相关文章:

android - 如何在 Android.mk 中添加 C-only 选项?

android - Realm 预填充数据库

android - 如何让应用程序识别它之前是否安装在该设备上,如果是,那么何时(日期)?

licensing - Rhino 许可证 - 防止多个试用期

java - 如何修复 Android Studio 中的 Gradle 构建问题显示类路径异常

java - 如何设置开关右侧的文本位置(如复选框)

android - 强制 Android 软键盘处于 NumberPassword 模式而不使用 EditText

c# - WP7 : Trial mode, 如果用户卸载了应用程序怎么办

apache-flex - 空气应用受计算机设定日期影响