您好,提前感谢您的回复。
我已将许可的应用程序上载到Play Store。我可以使用所有静态测试许可证响应(许可的、未许可的等)进行测试并获得预期的结果。到目前一切尚好。
但如果我的测试设备没有互联网连接,许可证检查总是失败。这不是我理解ServerManaged策略工作的方式。如果在最近的某个时间发现安装已获得许可,则该策略将在共享的首选项文件中缓存信息,并在没有internet连接的情况下使用它。
因此,我临时注释掉了许可系统创建的prefs文件中数据的模糊处理。当我查看数据时,我看到重试计数和其他内容被设置为零。这不是我所期望的。有了这样的数据,它对我来说就像是在使用严格的策略(事实并非如此)。
我假设这是使用测试响应系统的产物,“真正的”用户将在他们混淆的共享首选项中获得实际数据,这允许他们在没有互联网连接的情况下操作。
因此,我尝试将服务器响应设置为“正常响应”。当我这样做时,我总是得到一个未授权的响应。我想这是有道理的,因为我还没有购买和下载应用程序。
那么,作为开发人员,我如何才能准确地体验我的最终用户体验呢?例如,我希望能够在没有互联网连接的情况下测试这一切是如何工作的。我似乎想不出该怎么做?我想我可以购买自己的应用程序,但我不确定这是否可以工作,因为测试设备登录到测试帐户。开发人员必须购买自己的应用程序,这是没有意义的。
谢谢你的建议。
发布于 2013-07-23 09:08:21
我想我找到了你的问题的可能解决方案。
我做了什么:首先,我为我的应用程序的alpha/beta测试者创建了一个google组(当然是在上传应用程序之后)。然后,我加入了这个google群,并接受了邀请。之后,我将我的gmail开发人员帐户插入到许可证测试的用户列表中,并将服务器响应设置为"RESPOND_NORMALLY“。
如此一来,服务端的响应将始终是我的账号的LICENSED,有效期不会在2分钟内过期。这是因为我已经购买了应用程序!
此技巧的唯一限制是,您必须在google开发人员控制台的beta或alpha插槽中上传您的应用程序,但在此之后,您也可以使用通常的Eclipse IDE在您的设备上使用上传的调试应用程序来获得“许可”答案!您不必等待链接的生成即可下载测试应用程序(生成测试应用程序的速度非常慢...最多24小时!)。
发布于 2013-01-03 04:26:13
我也经历过这种挫败感。我也想拥有和我的客户一样的体验。一旦我设置了“响应正常”,我总是看到“未授权”的响应--这似乎是非常不理想的。我相信谷歌需要添加的是**'RESPOND_NORMALLY_AND_LICENSED'**.的设置这将完成所需的工作。
困难的核心:如果我离开我的应用程序作为‘许可’,当我有一个互联网连接时工作良好,然后2分钟后,没有连接,我的应用程序停止按照许可工作(因为缓存在Google Play服务器上设置为2分钟)。因此,如果我想日复一日地使用我自己的应用程序,我需要开发一个禁用许可的应用程序-这是我的客户从未见过的。这是一个非常糟糕的主意。
我们都很久以前就学到了:“作为开发人员,你必须吃自己的‘狗粮’。”
作为一种变通方法,我现在在ServerManagedPolicy.processServerResponse()中添加了代码,只需添加两个月的时间作为许可时间并调用setValidityTimestamp()。我希望这对其他人有帮助。现在我满足了
https://stackoverflow.com/questions/14015911
复制相似问题