当通过 android studio 安装应用程序时,Firebase 电话身份验证工作完美。 我已经检查了播放控制台中包含的 SHA(有 3 对 SHA1 和 SHA256 密钥)。
当我使用从 Play 商店安装的应用程序时。它发送 OTP 但无法验证它。 这是错误
<块引用>java.lang.IllegalArgumentException:无法在没有 verifyProof、sessionInfo、临时证明或注册 ID 的情况下创建 PhoneAuthCredential。
我确信代码没有问题,因为它在 android studio 模式下完美运行。但仍然......这是我的代码。 获取动态密码
val options = PhoneAuthOptions.newBuilder(mAuth)
.setPhoneNumber("+91$s") // Phone number to verify
.setTimeout(60L, TimeUnit.SECONDS) // Timeout and unit
.setActivity(this) // Activity (for callback binding)
.setCallbacks(mCallBack) // OnVerificationStateChangedCallbacks
.build()
try{ Log.d("otpE", PhoneAuthProvider.verifyPhoneNumber(options).toString()) }
catch(err:Exception) {
Log.d("OTP ERROR", err.toString())
}
验证一次性密码
mAuth.signInWithCredential(credential)
.addOnCompleteListener(object : OnCompleteListener<AuthResult?> {
override fun onComplete(task: Task<AuthResult?>) {
if (task.isSuccessful) {
...
}