Реализация пользовательского потока проверки лицензии Android
Я внедрил библиотеку верификации лицензий в свое платное приложение, руководствуясь инструкциями на Developers.android.com. Следующий поток пользователя:
- Пользователи устанавливают / обновляют приложение.
- У них запрашивали разрешение на контакт (это изначально разрешение GET_ACCOUNTS, чтобы проверить, существует ли учетная запись Google на устройстве) или нет при запуске (заставка) приложения.
- Подтвердите лицензию на покупку.
- в случае успеха пользователь сможет использовать приложение, в противном случае ему будет выдано предупреждение о неудачной проверке лицензии.
Моя проблема в шаге 2. Android 6.0 и выше. Пользователи на самом деле запутываются, что мы получаем доступ к их контактам.
поэтому, пожалуйста, предложите, если я реализовал правильный поток?
или есть ли лучший способ справиться с этим делом?
или есть ли обходить шаг 2.
заранее спасибо
1 ответ
У меня есть рабочий процесс этого сейчас, он отлично работает в живом приложении за последние 3 месяца без проблем.
Я решил проблему с шагом 2, изменив LicenceVerification Open Source Library. Я реализовал предложенную модификацию в классе LicenseValidator.java
public void verify(PublicKey publicKey, int responseCode, String signedData, String signature) {
-
}
В этом методе я добавил дополнительный блок catch для первого try.. catch()
блок
catch (Exception e){
handleInvalidResponse();
return;
}
Этот хак решил мою проблему и больше не спрашивал разрешения CONTACT для проверки лицензии.