我的Android应用程序在发布后应该只能使用1个月。该怎么做?Android应用程序应该在其发布后的1个月后过期
回答
请参阅this的问题,它有一个很好的答案。
我会给你我的审判经验。起初,我尝试在手机上使用日期,但后来意识到如果他们卸载并重新安装,可以绕过。这可以通过将安装日期存储在文件系统的某个位置(隐藏)来解决,但如果用户擦除数据或找到文件,会发生什么情况?
我也试过在任何地方的服务器(也许你的WWW网站?)只是检查日期/时间,但是这不会对您的应用程序的限制,因为他们必须有网络连接。很快,我意识到需要更好的许可证管理,因此使用了最后一个解决方案。
最后的解决办法是建立一个服务器。您可以使用设备的唯一ID(无论您选择哪个 - 我使用蓝牙MAC ID,因为我的应用程序也需要蓝牙),发布到服务器以检查用户是否有试用版,如果他们没有发出一个,如果他们这样做,我检查过期。现在我完全可以控制试验到期的时间。由于我的应用程序是在现场使用的商业应用程序,因此如果潜在买家需要一周的时间,这非常方便。
随着最后解决方案的唯一问题是,如果你打算发布到市场,就必须使用自己的支付系统。
祝你好运!
检查当前日期并计算到期日期。
这应该是很容易的,只是读了第一次启动的日期和储存,然后比较每个后续开机与存储的日期的日期,如果X天其更大,弹出一个消息框表示该应用已过期。
或者我错过了什么?
/托尼
是不是正确的方法是什么?如果用户更改设备的日期? – Kamalone
使用报警Reciever,而是和广播当它被过期。 http://developer.android.com/reference/android/app/AlarmManager.html,
这里过一个教程.. http://moazzam-khan.com/blog/?p=157
只需添加更多的代码相关的还有:
- 使用
SharedPreferences
存储上的日期先启动 - 获取每次启动的日期 - 您可以用于检查
Date.currentTimeMillis()
- 并计算是否已经过了1个月
+1这是更简单有效的方法之一。有效的意义在于它将对*多数用户产生预期的效果。 –
如果你担心设备上的数据(你应该!除非你对其进行加密),可以节省服务器上的数据和检索每个启动。
在另一方面,如果应用程序饼干担忧你,今天的Dalvik字节码使用dedexter或smali与apktools和的jarsigner实际上你可以找到其中的保护是改变一些跳跃,填补了其余代码的地方是容易逆转用nops保持对齐,并将其上传到一些他们分享它的饼干市场。所以它不会帮你太多。 如果你用proguard混淆你的代码,你可以让他们的生活变得艰难,但它会减慢他们的速度,不会阻止他们。
如果您的应用程序是基于Web的,即用户需要从您那里获取服务器数据,请为从服务器接收到的注册用户创建一个密钥(您可以根据他们的私人信息+ IMEI)和验证您的请求,如果您遇到错误\客户端没有密钥拒绝请求。 这不是100%的证明,因为请求可能是伪造的,有人可能抓取别人的IMEI并且密钥并且面对所有请求。
欢迎破复制保护软件世界:-)
- 1. 发布后的应用程序设置
- 2. 开发帐户过期后的应用程序收入?
- 3. 该应用程序发送位置后,服务器Android Java
- 4. 谷歌地图发布android应用程序后不显示?
- 5. 在Android Market中发布应用程序
- 6. Android:3.0应用程序崩溃应该是向后兼容
- 7. 在android中找到应用程序的发布日期
- 8. 应用内结算V3 - 购买3个月后过期的对象 - Android
- 9. 在发布我的应用程序之前应该做的事
- 10. 发布后Web应用程序不响应
- 11. 刚刚发布后,Xamarin Android应用程序在android上崩溃。缺少MonoRuntimeProvider
- 12. 如何在安装后仅运行应用程序2个月
- 13. 发布您的Android应用程序
- 14. 发布android应用程序的代价
- 15. Android,在后台运行应用程序
- 16. 在后台运行android应用程序?
- 17. 在后台运行应用程序android
- 18. Android应用程序在后台启动
- 19. Android应用程序登录,在后台
- 20. 在用户墙上发布图像,然后是应用程序消息,然后是应用程序URL
- 21. 程序使用后应该删除吗?
- 22. (在后台的应用程序)在某个日期激发一个动作
- 23. 密钥库在5个月后过期
- 24. 如何删除的Facebook应用程序近期公布后
- 25. 苹果批准后,在AppStore上手动发布应用程序
- 26. 在Playstore上发布应用程序后Google登录无效
- 27. 某些图像在发布WPF应用程序后未出现
- 28. 在后端应用程序中获取vs发布vs会话
- 29. WPF应用程序在发布后崩溃
- 30. 在Swift中HTTP发布请求后刷新应用程序?
以及如果我反转您的代码并使应用程序每个月都生成新的BT号码? – codeScriber
然后我的应用程序仍然在做它应该做的事:阻止简单的解决方法。如果任何人都决心绕过审判,那么对此我无能为力。最后,任何系统都可能被“黑客入侵”,但是真的值得花时间节省几美元吗?另外我的应用程序是非常专业的,它的用户有钱:)。 – Jack