我已经在我的付费应用程序中实现了许可验证库,并提供了Developers.android.com上的指南。以下是用户流程:
- 用户安装/升级应用。
- 他们被要求在应用程序的启动(启动屏幕)上获得联系权限(它最初是GET_ACCOUNTS permissionTo检查谷歌帐户是否存在于设备中)。
- 验证购买许可。
- 如果成功,则用户可以使用应用程序,否则他们会收到许可证验证失败警报。
我的问题在第二步。Android 6.0及以上版本的用户实际上会感到困惑,因为我们正在访问他们的联系人。
所以请建议我是否执行了正确的流程?
或者有没有更好的方法来处理这种情况?或者是否有任何方法可以绕过步骤2。
Thanks in advance
我现在有这个工作流程,它在过去3个月的实时应用程序中工作正常,没有问题。
我已经通过修改licencevification开源库解决了第2步的问题。我已经在LicenseValidator.java类
中实现了建议的修改public void verify(PublicKey publicKey, int responseCode, String signedData, String signature) {
-
}
在这个方法中,我为第一个try.. catch()
块添加了额外的catch块
catch (Exception e){
handleInvalidResponse();
return;
}
这个hack解决了我的问题,不再要求CONTACT许可进行许可证验证。