我一直在研发已发布到Google Play的Android应用。对于下一次更新(versionCode = 3),我的客户希望包含LVL许可方案。
我做的第一件事是从许可服务器设置静态测试响应。我将测试响应设置为 LICENSED 。在文档中阅读之后:
此许可测试响应将使用[我的电子邮件地址]发送到设备 您上传到Google Play的应用程序或上面列出的测试帐户。 >此外,此帐户(但不是测试帐户)将收到尚未上传到Google Play的>应用程序的此响应。
我想,这不是问题,因为我的开发者帐户电子邮件与我的测试设备上的Google Play帐户电子邮件相同。所以我应该在调试App时收到测试响应。
之后,我会阅读所有其他许可文档和示例代码,并将其集成到应用程序中。我使用了 ServerManagedPolicy 和正确的base64公钥以及20个随机生成的字节作为salt。
一旦一切看起来都很好我将其上传到设备进行测试,但我没有收到我预期的 LICENSED 响应,而是总是收到 NOT_LICENSED 回复。我回去确认:
起初,我认为它可能与缓存有关,所以我尝试使用 StrictPolicy 。相同的回应。由于我没有从商店购买应用程序,我的印象是许可服务器正常响应而不是发送静态测试响应。以下是我尝试过的其他一些事情:
这让我相信许可证服务器始终正常响应,而不是将我设置的静态测试响应发送到我的开发者帐户。我有一种感觉,可能是因为该应用程序已经发布,但我无法冒险发布调试版本只是为了测试它是否有效。
之前有没有人遇到这种情况?非常感谢任何帮助。
答案 0 :(得分:1)
我花了几个小时甚至几天时遇到同样的问题,这里和其他地方都有记录,预先发布的许可证测试是命中和错过,而且比我发现的更多的错过了。
我发现让它“更可靠”(但仍然不完全可靠)的唯一方法是让硬件设备重置为出厂默认设置,然后将其设置为PRIMARY google用户。您的开发者帐户已上传以测试。
特殊的AVD也不太可靠。
答案 1 :(得分:1)
我有同样的问题,但能够解决它。以下是我要解决的问题: 1)在我的设备上,我删除了除我配置的测试帐户以外的所有Google帐户。显然,Play商店仍在尝试使用非测试帐户。
2)我必须为我的开发者帐户激活测试状态,即使我是主开发人员而且只有测试人员。
版本增量没有帮助,老实说是分心......
答案 2 :(得分:0)
使用LVL库测试时遇到同样的问题。无论我在设置页面中设置了许可证测试响应,我总是得到561(0x231 NOT_LICENSED)响应。
我的付费应用用户似乎没有抱怨所以我假设LVL正在为他们工作。
首先我的一个应用程序出现了这个问题,它在1天后发布(2012年12月30日发布),现在我在该应用程序中获得了有效的测试响应。
但是,对于较新的应用程序(2013年1月31日发布),我仍然会收到561(0x231 NOT_LICENSED)响应
所以现在我发布APK后继续注释掉(禁用弹出561的警告对话框代码),然后继续开发下一个版本。
在我再次发布之前,我取消评论(启用提醒对话框代码)!
我联系了Google Play,他们将我推荐给他们的开发者论坛。我在那里发布了同样的问题,但后来我找不到我的帖子。
很高兴知道我不是唯一一个面临这个问题的人。