Android Safetynet Attestation встроенная логика повторов - PullRequest
2 голосов
/ 29 марта 2019

Мой вопрос: какая логика повторения встроена в Google Safetynet, и какую логику повторения следует встроить в приложение? Какова лучшая практика для построения логики уровня приложения?

Я использую Safetynet Attestation в приложении Android и веб-сервисе. Safetynet используется для проверки того, что данные исходят из нашего приложения Android, установленного на допустимом устройстве Android, и что сообщение не подделано. Используемый базовый код взят из Пример документации Safetynet

У меня возникают проблемы при разработке логики повторов для получения аттестации safetynet в приложении устройства в случаях, когда сетевое подключение временно недоступно или в противном случае API Google Safetynet недоступен в течение определенного периода времени.

Классы Safetynet основаны на GoogleApi class . Документация для GoogleApi говорит, что уже есть некоторая логика автоматического тайм-аута / переподключения.

  • Автоматический тайм-аут и при необходимости переподключение

Какая логика автоматически встроена в Safetynet, и какую логику необходимо создавать разработчикам приложений? Например, каково время ожидания для запросов («автоматически истекло») и можно ли его отрегулировать? Сколько повторных попыток это делает и с какой стратегией повторных попыток («переподключен при необходимости»)?

1 Ответ

2 голосов
/ 07 апреля 2019

Насколько я знаю, API-интерфейс SafetyNet имеет только прослушиватели / обратные вызовы для результатов Успеха и Отказа для каждого запроса, он не имеет встроенной логики повторов. Вы можете проверить ошибки, приходящие на OnFailureListener, через их StatusCode (проверьте на SafetyNetStatusCodes ) и обработать их с помощью собственной логики повторения.

...