【问题标题】:How to Manage Offline Trial Expiration for an Android Application?如何管理 Android 应用程序的离线试用到期?
【发布时间】:2012-07-04 14:37:01
【问题描述】:

我开发了一个应用程序,我想与我的客户分享。我想分享它的试用,注意以下几点

  1. 应用程序应在 30 天后过期(即用户不能从主要活动中移动)
  2. 我的应用程序不需要 Internet 连接,因此我不想通过管理可以存储设备 IMEI 的服务器或类似的东西来管理试用到期。
  3. 我想限制用户使用应用程序,即使他卸载并稍后重新安装我的应用程序。
  4. 我想保护应用程序试用免受用户通常应用的手动日期更改黑客攻击

我打算为我的应用程序维护一个文件,其中保存了第一次运行的时间标记,可以与每次运行的 GPS 时间进行比较,但我在这里面临的问题是文件存储。如果我将文件保存在内部存储器中,它会随着应用程序的卸载而被删除,并且在用户重新安装应用程序时无法使用,如果我将其存储在 SD 卡/外部存储器中,它很容易被用户删除。我已经从任何地方调查了这个问题,但没有成功。你们的任何想法或建议都会是一种解脱。 :-)

【问题讨论】:

  • 我认为你很好地涵盖了你的可能性。我会考虑服务器选项。大多数 Android 用户应该可以访问互联网,这应该不是什么大问题。
  • 我的应用程序只能在无法访问互联网的偏远地区使用。考虑到上述限制,我不能使用服务器选项:-(
  • 我明白了,一个折衷的解决方案可能是需要在线激活试用版并在 sd 上生成某种加密的时间戳文件。哪个用户因为加密而无法读取,哪个是运行所必需的。当然设备时间操作是可能的。但是有多少用户会这样做呢?
  • 你是对的,无法访问互联网,这可能是唯一的解决方案。正如你所说的加密很好,但问题是加密不能保护文件不被删除,高层担心,如果用户先进并从 SD 卡中删除文件怎么办?我还研究了 在 Android System Direcotry 中保存文件 方法,这种方法在某种程度上是安全的,但需要 root 访问权限,这是不允许的。我知道这不仅仅是孤立,也不能导致解决方案,但这是指示开发人员执行的操作“找到解决方案”
  • 你是怎么解决你的问题的?我有类似的问题无法弄清楚如何去做。

标签: android trial time-trial


【解决方案1】:

安装该应用后将可以访问互联网,否则他们将无法安装它。

只需要求用户在首次使用该应用时通过服务器激活该应用。该应用程序从服务器获得“此应用程序首先在 yyyy-mm-dd 激活”响应,并将该信息存储在内部存储中的文件中。从那时起,用户无需在线即可使用该应用程序。

【讨论】:

    猜你喜欢
    • 2023-03-03
    • 1970-01-01
    • 2019-04-18
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 2014-12-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多