【问题标题】:Google Play LIcensing - Meaning of "Respond Normally"?Google Play 许可 - “正常响应”的含义?
【发布时间】:2012-12-10 13:19:14
【问题描述】:

您好,提前感谢您的回复。

我已将我的许可应用上传到 Play 商店。我可以使用所有静态测试许可响应(许可、未许可等)进行测试并获得预期结果。到目前为止一切顺利。

但如果我的测试设备没有互联网连接,许可证检查总是会失败。这不是我理解 ServerManaged 策略的工作方式。如果发现某个安装在最近的某个时间获得了许可,则该策略应该将信息缓存在共享的 prefs 文件中,并在没有 Internet 连接时使用它。

所以我暂时注释掉了许可系统创建的 prefs 文件中数据的混淆。当我查看数据时,我看到重试计数和其他内容设置为零。这不是我所期望的。有了这样的数据,我的行为就好像我在使用严格的政策(而我不是)。

我假设这是使用测试响应系统的产物,并且“真实”用户将在其混淆的共享首选项中获得实际数据,从而允许他们在没有互联网连接的情况下进行操作。

所以我尝试将服务器响应设置为“正常响应”。当我这样做时,我总是得到一个 NOT LICENSED 响应。我想这是有道理的,因为我还没有购买和下载该应用程序。

那么,作为开发人员,我如何才能准确体验最终用户的体验呢?例如,我希望能够在没有互联网连接的情况下测试这一切是如何工作的。我似乎无法弄清楚如何做到这一点?我想我可以购买自己的应用程序,但由于测试设备已登录到测试帐户,因此我不确定它是否能正常工作。开发者必须购买自己的应用程序是没有意义的。

感谢您的任何建议。

【问题讨论】:

    标签: android google-play android-lvl google-license-manager


    【解决方案1】:

    我想我找到了解决您问题的可能方法。

    我做了什么: 首先,我为我的应用程序的 alpha/beta 测试人员创建了一个 google 组(当然是在上传应用程序之后)。然后,我邀请自己加入这个 google 群组并接受邀请。之后,我将我的 gmail 开发者帐户插入到用户列表中以进行许可测试,并将服务器响应设置为“RESPOND_NORMALLY”。

    这样,服务器的响应对于我的账号来说永远是“LICENSED”,有效期不会在2分钟内过期。就像我买了这个应用程序一样!

    此技巧的唯一限制是您必须将您的应用上传到您的谷歌开发者控制台的 beta 或 alpha 插槽中,但在此之后,您还可以使用上传到您设备上的调试应用获得“许可”答案使用通常的 Eclipse IDE!您无需等待生成链接即可下载测试应用(生成速度非常慢...长达 24 小时!)。

    【讨论】:

      【解决方案2】:

      我也经历过这种挫败感。我也想和我的客户有同样的体验。一旦我设置了“正常响应”,我总是会看到“未获得许可”的响应——这似乎非常不理想。我相信 Google 需要添加的设置是 **'RESPOND_NORMALLY_AND_LICENSED'**。那将做需要的事情。

      困难的核心:如果我将我的应用程序设置为“许可”,当我有互联网连接时可以正常工作,那么在没有连接 2 分钟后,我的应用程序将停止按许可工作(因为缓存设置在谷歌播放服务器到 2 分钟)。因此,如果我想日复一日地使用自己的应用程序,我需要制作一个禁用许可的应用程序——这是我的客户从未见过的。 这是一个非常糟糕的主意。

      我们很久以前就学会了:“作为开发人员,你必须吃自己的‘狗粮’。”

      • 我已将此报告为“开发人员控制台”错误,但它可能不是“错误”,而是一个非常强烈的建议 - 而且它似乎很容易实现。

      作为一种解决方法,我现在在 ServerManagedPolicy.processServerResponse() 中添加了代码,以简单地添加两个月的许可时间并调用 setValidityTimestamp()。我希望这对其他人有帮助。现在我很满足——

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-10-29
        • 2012-06-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多