Dav*_*ite 5 android android-lvl google-play google-license-manager
您好,提前感谢您的回复。
我已将我的许可应用上传到 Play 商店。我可以使用所有静态测试许可响应(已许可、未许可等)进行测试并获得预期结果。到现在为止还挺好。
但是如果我的测试设备没有互联网连接,许可证检查总是失败。这不是我理解 ServerManaged 策略工作的方式。如果发现安装在最近的某个时间获得了许可,则该策略应该将信息缓存在共享的 prefs 文件中,并在没有 Internet 连接的情况下使用它。
所以我暂时注释掉了许可系统创建的 prefs 文件中数据的混淆。当我查看数据时,我看到重试计数和其他内容都设置为零。这不是我所期望的。有了这样的数据,它对我来说就好像我在使用严格的政策一样(我不是)。
我假设这是使用测试响应系统的产物,“真实”用户将在他们混淆的共享首选项中获得实际数据,允许他们在没有互联网连接的情况下进行操作。
所以我尝试将服务器响应设置为“正常响应”。当我这样做时,我总是得到一个 NOT LICENSED 的回应。我想这是有道理的,因为我还没有购买并下载该应用程序。
那么,作为开发人员,我如何才能准确地体验到我的最终用户的体验呢?例如,我希望能够在没有互联网连接的情况下测试这一切是如何工作的。我似乎无法弄清楚如何做到这一点?我想我可以购买自己的应用程序,但我不确定它是否会起作用,因为测试设备已登录到测试帐户。开发人员必须购买自己的应用程序是没有意义的。
感谢您的任何建议。
我也经历过这种挫败感。我也想拥有和我的顾客一样的体验。一旦我设置“正常响应”,我总是会看到“未许可”响应——这看起来非常不理想。我相信谷歌需要添加的是 **'RESPOND_NORMALLY_AND_LICENSED'** 的设置。这样就可以完成需要的事情了。
困难的核心:如果我将我的应用程序设置为“已许可”,在有互联网连接时工作正常,那么在没有连接的情况下 2 分钟后,我的应用程序将停止按许可工作(因为缓存是在 Google Play 服务器上设置的)至 2 分钟)。因此,如果我想日复一日地使用自己的应用程序,我需要制作一个禁用许可的应用程序——这是我的客户永远不会看到的。 这是一个非常糟糕的主意。
我们很早就知道:“作为开发者,必须吃自己的‘狗粮’。”
作为解决方法,我现在在 ServerManagedPolicy.processServerResponse() 中添加了代码,以简单地添加两个月的许可时间并调用 setValidityTimestamp()。我希望这对其他人有帮助。现在我很满足了——
| 归档时间: |
|
| 查看次数: |
2341 次 |
| 最近记录: |