Android 许可证验证用户流程实现
Android License verification user flow implementation
我已根据 Developers.android.com. 上提供的指南在我的付费应用程序中实施了许可证验证库
以下是用户流程:
- 用户 install/upgrade 应用
- 他们在应用程序启动(启动画面)时被要求获得联系人权限(最初是 GET_ACCOUNTS 权限以检查 Google 帐户是否存在于设备中)。
- 验证购买许可证。
- 如果成功,则用户可以使用该应用程序,否则会向他们显示许可证验证失败警报。
我的问题在第 2 步。Android 6.0 及更高版本用户实际上对我们正在访问他们的联系人感到困惑。
所以请建议我是否实施了正确的流程?
或者有什么更好的方法来处理这种情况?
或者有没有绕过第2步的方法
提前致谢
我现在有了这个工作流程,它在过去 3 个月的实时应用程序中运行良好,没有任何问题。
我已经通过修改LicenceVerification Open Source Library解决了第2步的问题。我已经在 LicenseValidator.java class
中实施了建议的修改
public void verify(PublicKey publicKey, int responseCode, String signedData, String signature) {
-
}
在这个方法中,我为第一个 try.. catch()
块添加了额外的 catch 块
catch (Exception e){
handleInvalidResponse();
return;
}
这个 hack 解决了我的问题,不再请求 CONTACT 许可验证许可。
我已根据 Developers.android.com. 上提供的指南在我的付费应用程序中实施了许可证验证库 以下是用户流程:
- 用户 install/upgrade 应用
- 他们在应用程序启动(启动画面)时被要求获得联系人权限(最初是 GET_ACCOUNTS 权限以检查 Google 帐户是否存在于设备中)。
- 验证购买许可证。
- 如果成功,则用户可以使用该应用程序,否则会向他们显示许可证验证失败警报。
我的问题在第 2 步。Android 6.0 及更高版本用户实际上对我们正在访问他们的联系人感到困惑。
所以请建议我是否实施了正确的流程?
或者有什么更好的方法来处理这种情况?
或者有没有绕过第2步的方法
提前致谢
我现在有了这个工作流程,它在过去 3 个月的实时应用程序中运行良好,没有任何问题。
我已经通过修改LicenceVerification Open Source Library解决了第2步的问题。我已经在 LicenseValidator.java class
中实施了建议的修改public void verify(PublicKey publicKey, int responseCode, String signedData, String signature) {
-
}
在这个方法中,我为第一个 try.. catch()
块添加了额外的 catch 块
catch (Exception e){
handleInvalidResponse();
return;
}
这个 hack 解决了我的问题,不再请求 CONTACT 许可验证许可。