Google reCaptcha 在真实设备上不显示验证码质询对话框
Google reCaptcha doesn't show captcha challenge dialog on a real device
我正在尝试在 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 回调,并且对话框从未显示。
也许有人知道我遇到了什么问题?
根据 documentation:
If reCAPTCHA is confident that this is a real user on a real device it will return a token with no challenge. Otherwise it will provide a visual/audio challenge to attest the humanness of the user before returning a token.
"No challenge" 表示没有 reCAPTCHA。参考你的真机,Google显然已经对你的人性感到满意,不需要进一步确认。
verifyWithRecaptcha()
正在按设计运行。
我正在尝试在 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 回调,并且对话框从未显示。
也许有人知道我遇到了什么问题?
根据 documentation:
If reCAPTCHA is confident that this is a real user on a real device it will return a token with no challenge. Otherwise it will provide a visual/audio challenge to attest the humanness of the user before returning a token.
"No challenge" 表示没有 reCAPTCHA。参考你的真机,Google显然已经对你的人性感到满意,不需要进一步确认。
verifyWithRecaptcha()
正在按设计运行。