- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在评估使用免费增值模式构建和营销 Android 应用的不同方法。我想以一种或多种方式限制应用程序的功能,以鼓励购买高级版本。
是否有经过验证的安全编码技术来限制功能,例如:
1) 每天最大使用次数,
2)每天(或其他时间段)调用某个关键方法的最大次数,
3) 应用程序在使用一段时间后(例如 1 个月)被禁用,无法通过简单的卸载/重新安装来规避。
-> 一种想法是散列存储在应用程序或支持文件(例如资源、 list )中某处的值,该文件跟踪使用情况并且不能简单地被覆盖以规避限制。
-> 一种更复杂的方法是在网络服务上注册安装,然后让网络服务根据跟踪数据启用/禁用操作,但是,如果网络服务出现故障,这可能会禁用此功能(例如如果服务不可用,默认为可操作将允许应用程序运行。
最佳答案
第 1 条和第 2 条可以轻松完成,但如果用户更改设备上的系统时间(您好,Candy Crush),则可以规避。为防止这种情况发生,您需要注册以接收 ACTION_TIME_CHANGED 和可能的 ACTION_TIMEZONE_CHANGED 并弄清楚如何做出相应的 react 。或者,您可以从外部来源获取时间,但这会增加您应用的网络需求。
卸载应用程序时,其所有内部文件都会被删除,因此第 3 条的第一部分将不起作用。你可以把那个标志文件放在外部存储中,但是一个最精明的用户可以很容易地找到并删除它,除非你对名称和/或权限很狡猾。但这并不公平,因为在用户决定不再需要您的应用程序后,该文件会存在很长时间。处理数字 3 并使其在重新安装后仍然存在的唯一可靠方法是按照您的建议进行操作并使用某种基于 Web 的注册过程。
更好的方法可能是使用 Google Play Licensing .它允许先试后买和其他方法。
关于android freemium 编程技术和代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22446277/
我正在评估使用免费增值模式构建和营销 Android 应用的不同方法。我想以一种或多种方式限制应用程序的功能,以鼓励购买高级版本。 是否有经过验证的安全编码技术来限制功能,例如: 1) 每天最大使用次
我是一名优秀的程序员,十分优秀!