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() работает как задумано.

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