Google reCaptcha不会在真实设备上显示验证码询问对话框

时间:2018-10-22 12:57:39

标签: android recaptcha safetynet

我正在尝试从Google开发人员网站执行此guide,以实施google reCaptcha。我的代码:

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 个答案:

答案 0 :(得分:2)

根据documentation

  

如果reCAPTCHA确信这是真实设备上的真实用户,则它将毫无挑战地返回令牌。否则,它将在返回令牌之前向视觉/音频挑战,以证明用户的人格。

“没有挑战”意味着没有reCAPTCHA。关于您的真实设备,显然Google已经对您的人性满意,因此无需进一步确认。

verifyWithRecaptcha()按设计运行。