Google reCaptcha не показывает диалоговое окно проверки капчи на реальном устройстве
Я пытаюсь реализовать Google ReCaptcha, следуя этому руководству с сайта разработчиков Google. Мой код:
private fun onClick() {
SafetyNet.getClient(this).verifyWithRecaptcha(CAPTCHA_KEY)
.addOnSuccessListener(this) { response ->
if (!response.tokenResult.isEmpty()) {
verify(response.tokenResult)
}
}
.addOnFailureListener(this) { e ->
if (e is ApiException) {
Log.d("asd", "Error message: " + CommonStatusCodes.getStatusCodeString(e.statusCode))
} else {
Log.d("asd", "Unknown type of error: " + e.message)
}
}
}
На эмуляторе работает нормально. Когда я нажимаю на кнопку, reCaptcha показывает диалоги с несколькими изображениями, где пользователь должен выбрать все изображения с автомобилями, гидрантами и т. Д.
Но на реальном устройстве. После того, как я нажимаю на кнопку, я всегда получаю обратный вызов onSuccess, и диалоговое окно никогда не отображается.
Может кто знает, с какой проблемой я столкнулся?
1 ответ
Согласно документации:
Если reCAPTCHA уверен, что это реальный пользователь на реальном устройстве, он вернет токен без проблем. В противном случае это обеспечит визуальную / звуковую проблему для подтверждения человечности пользователя перед возвратом токена.
"Нет проблем" означает нет reCAPTCHA. Что касается вашего реального устройства, Google, по-видимому, уже удовлетворен вашей человечностью и не требует дальнейшего подтверждения.
verifyWithRecaptcha()
работает как задумано.