在应用程序计费- android免费增值编程技术和代码



我正在评估使用免费模式构建和营销Android应用的不同方法。我想以一种或多种方式限制应用程序的功能,以鼓励购买高级版本。

是否有经过验证的安全编码技术来限制功能,例如:

1)每天最大使用次数,

2)每天(或其他时间段)对关键方法的最大调用数,

3)应用程序在使用一段时间(例如1个月)后被禁用,并且不能通过简单的卸载/重新安装来规避。

->一个想法是散列存储在应用程序或支持文件(例如资源,清单)的某个地方的值,跟踪使用情况,不能简单地覆盖以规避限制。

->一种更复杂的方法是在web服务上注册安装,然后根据跟踪数据让web服务启用/禁用操作,然而,如果web服务宕机,这可能会禁用此功能(例如默认为操作将允许应用程序在服务不可用时运行)。

1和2很容易做到,但如果用户改变设备上的系统时间(游戏邦注:如《Candy Crush saga》),就可以规避这一点。为了防止这种情况,你需要注册接收ACTION_TIME_CHANGED和ACTION_TIMEZONE_CHANGED,并弄清楚如何做出相应的反应。或者,你可以从外部源获取时间,但这会增加应用程序的网络需求。

当一个应用程序被卸载时,它的所有内部文件都被删除了,所以第3部分的第一部分将不起作用。您可以将该标志文件放在外部存储中,但即使是最不精明的用户也可以很容易地找到并删除它,除非您巧妙地使用了名称和/或权限。但这并不公平,因为在用户决定不再需要你的应用很久之后,这个文件还会存在。唯一可靠的方法来处理第3号,并让它生存的重新安装是按照你的建议,并使用某种基于网络的注册过程。

更好的方法可能是使用Google Play授权。

最新更新