google在他们的许可证验证库中提供依赖于服务器响应来确定许可证重新验证间隔。这导致每隔几天需要重新验证,以永久性。这不仅对用户令人滋扰,对于长期没有连接的用户来说,这可能是一个严重的问题。 (我们刚刚从预期没有互联网连接的用户询问几周,这是激励这个问题的。)

总结,我正在寻找一个将完成两件事的算法:

    ServerManagedPolicy相比,
  1. 彻底减少了连接要求;
  2. 提供相同水平的反盗版保护。
  3. 在一个答案到这个问题建议的策略算法是忽略谷歌服务器的响应中提供的时间,而是使用大约一个月的许可到期时间,每隔几天尝试许可证检查(如果收到许可响应,则扩展到期期限)。

    虽然此方法部分地解决了第一个目标,但它仍然需要用户每月连接一次,同时使用该应用程序,因此它不会为(至少一个)我们的用户。

    以下算法完成了第一个目标,但我不知道第二个目标。任何指出这种算法弱点的评论,或者对另一种方法的建议将是欢迎。

    1. 在第一次运行时,在提供全功能之前,请在许可证检查并坚持许可响应。一旦收到,将相对较短的到期期限(但比Google Play提供的退款期限为15分钟)。还在超出那之后注册宽限期。
    2. 该应用程序将在许可证到期期后再次开始检查。如果它无法连接(飞机模式等),则仍将起到宽限期的到期。
    3. 宽限期到期后,在允许正常的应用程序功能之前,坚持第二次许可响应。
    4. 收到第二次许可响应后,永久性启用应用程序的所有功能,然后再也不会打扰检查。
    5. 如果在任何时候收到未经许可的响应,则永久禁用完整功能。 (当然,用户可以通过删除所有应用程序数据来恢复步骤1。)
    6. 额外点:

      • 一个建议是为了放弃第一个许可证检查,然后等到返回期限到期之前进行许可证检查。坚持第一个许可响应的目的是防止利用,在许可证检查失败之后,用户只需停止应用程序流程,清除应用程序数据,然后重新启动应用程序。 (该应用程序即使是一次只使用15分钟,也可以提供价值。)
      • 坚持第二次许可响应的目的是围绕买入运行备份返回恢复漏洞。
      • 我不是在询问回拨许可证检查是否是一个好主意(这就是谷歌提出的代替他们已弃用的复制保护机制)。我也很清楚,没有反盗版保护是万无一失的,谷歌的整个许可机制可以被规避(在这种情况下,关于策略算法的所有问题都是无关紧要的)。该问题的主要部分是与其他策略(例如世代odicetagcode)相比,上述算法的相对风险(对我们)和益处(向用户)。
有帮助吗?

解决方案

关于盗版,总是有风险,你做得什么都不会完全阻止它。

与其他风险相反,您可以使用他们无法使用的应用程序冒险向客户扰乱客户。

我期待很多0 *从不满意的客户的评论,他们甚至无法使用他们支付的应用程序,因为它被禁用,而获得免费应用的人可能不会中断。这就像购买DVD并充满了盗版的脸,当海盗接受不间断的观看时。

我会在购买应用程序时坚持获得许可的响应,而不会对第二个响应打扰。如果有人能找到围绕一个回应的方式,他们会发现他们远离第二个。

编辑:我同意购买后20分钟的kcoppock会对客户造成最小的干扰,避免您提到的退款错误

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top