Android许可证验证用户流程实施

时间:2016-08-24 09:31:15

标签: android licensing android-6.0-marshmallow android-permissions user-experience

我已在我的付费应用程序中实施了许可证验证库,并在Developers.android.com.上提供了指南 以下是用户流程:

  1. 用户安装/升级应用
  2. 在应用的启动(启动画面)中,他们被要求获得联系人权限(最初是GET_ACCOUNTS权限以检查设备中是否存在Google帐户)。
  3. 验证要购买的许可证。
  4. 如果成功,那么用户能够使用其他应用程序,他们被提交了许可证验证失败警报​​。
  5. 我的问题在第2步.Android 6.0及以上用户实际上对我们访问他们的联系人感到困惑。

    所以请建议我是否实施了正确的流程?

    还是有更好的方法来处理这种情况吗?

    或者有没有绕过第2步。

    提前致谢

1 个答案:

答案 0 :(得分:1)

我现在有了这个工作流程,它在过去3个月的实时应用程序中运行正常,没有任何问题。

我通过修改LicenceVerification开源库解决了我的第2步问题。我已在 LicenseValidator.java

中实施了建议的修改
public void verify(PublicKey publicKey, int responseCode, String signedData, String signature) {
  -
}

在这个方法中,我为第一个try.. catch()块添加了额外的catch块

catch (Exception e){ 
     handleInvalidResponse();
     return;
}

此黑客解决了我的问题,而不再要求获得许可证验证的CONTACT权限。