Реализация пользовательского потока проверки лицензии Android

Я внедрил библиотеку верификации лицензий в свое платное приложение, руководствуясь инструкциями на Developers.android.com. Следующий поток пользователя:

  1. Пользователи устанавливают / обновляют приложение.
  2. У них запрашивали разрешение на контакт (это изначально разрешение GET_ACCOUNTS, чтобы проверить, существует ли учетная запись Google на устройстве) или нет при запуске (заставка) приложения.
  3. Подтвердите лицензию на покупку.
  4. в случае успеха пользователь сможет использовать приложение, в противном случае ему будет выдано предупреждение о неудачной проверке лицензии.

Моя проблема в шаге 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 для проверки лицензии.

Другие вопросы по тегам