我已经看到很多关于为Android应用程序创建时间限制试用版本的线程,但它们似乎都没有实现我的目的。 几天前我推出了我的应用程序的付费版本,现在我想提出试用版本,我不想从任何一方瘫痪。所以我想对试用版有时间限制。我为它创建了一个不同的包名称。早些时候我使用LVL,现在我也使用相同的,除了我创建新的许可证库并更改了 setValidityTimestamp(extras.get( “VT”)); 至 setValidityTimestamp(String.valueOf(System.currentTimeMillis()+(5 * MILLIS_PER_MINUTE)));在ServerManagedPolicy中。
这样我就可以测试试用版是否可以运行5分钟然后给我许可错误。我在应用程序商店发布它,下载它然后发现它仍然工作超过5分钟。现在我没有发表它。有人可以帮助我创建一个用户可以运行一周的更好的时间限制应用程序(比如说)。此外,他不应该卸载并重新安装它,然后再次永久使用它。我知道如果我可以将信息写入某个外部文件,但同样可以从SD卡中删除该文件,并且可以终身免费使用该应用程序。
此致 的Pankaj
答案 0 :(得分:3)
在LVL的当前功能以及用户对普通手机的控制程度内,目前没有办法在没有服务器端组件的情况下执行此操作。卸载应用程序后,将删除所有跟踪(除非您指出,您可能写入SD卡的文件,用户可见),因此检查卸载/重新安装的唯一方法是生成一致的,特定于设备的标识符,并与服务器组件进行检查,该组件将拒绝重新安装或将其接受为新的计时。即使这可能是由专门的客户欺骗(取决于服务器端组件的行为),因此您需要设计您的软件,以便您的服务器端组件是流程的必要部分(即它不仅仅是许可证检查,它实际上是应用程序功能的一部分。)
如果你想出一些有用的东西,我很乐意听到它,但我会说你运气不好。
答案 1 :(得分:0)
@Femi是对的,您需要一个服务器端组件才能始终工作。我倾向于做的只是发布一个免费版本,并且用户购买完整版本作为应用内购买。 IAP服务器是您的服务器端检查用户是否购买了升级。您可以在首次使用时存储pref,以了解用户何时开始使用该应用程序。如果用户再次卸载并重新安装您的应用程序,他们会获得一个新的跟踪期,但这很烦人,很少有人会节省一些钱。如果您在应用中添加消息,要求用户很好地升级,或者在升级后删除广告,这是一个足够好的解决方案。