Android 使用电话号码身份验证时Firebase异常开发模式不匹配

Android 使用电话号码身份验证时Firebase异常开发模式不匹配,android,firebase,firebase-authentication,Android,Firebase,Firebase Authentication,我一直在发布使用firebase电话号码验证的android应用程序,当该应用程序处于调试模式时,一切正常,但在发布模式下,电话号码验证引发以下异常 com.google.firebase.FirebaseException:发生内部错误。[开发模式不匹配:开发模式请求中给出的非开发模式验证证明。] 代码是 String phoneNumber = getPhoneNumber(); loginProgress.setVisibility(View.VISIBLE); // send veri

我一直在发布使用firebase电话号码验证的android应用程序,当该应用程序处于调试模式时,一切正常,但在发布模式下,电话号码验证引发以下异常

com.google.firebase.FirebaseException:发生内部错误。[开发模式不匹配:开发模式请求中给出的非开发模式验证证明。]

代码是

String phoneNumber = getPhoneNumber();

loginProgress.setVisibility(View.VISIBLE);
// send verification sms
PhoneAuthProvider.getInstance().verifyPhoneNumber(
        phoneNumber,
        60,
        TimeUnit.SECONDS,
        this,
        new PhoneAuthProvider.OnVerificationStateChangedCallbacks() {
            @Override
            public void onVerificationCompleted(PhoneAuthCredential phoneAuthCredential) {
                // when auto verification happens
                // sign-in

                mFirebaseAuth.signInWithCredential(phoneAuthCredential)
                        .addOnSuccessListener(LogInActivity.this, loginListener).addOnFailureListener(new OnFailureListener() {
                    @Override
                    public void onFailure(@NonNull Exception e) {
                        Log.d("Exception",e.getMessage());
                    }
                });
            }

            @Override
            public void onVerificationFailed(FirebaseException e) {

                if (e instanceof FirebaseAuthInvalidCredentialsException) {
                    // when the user enter invalid number
                    mPhoneLayout.setError(getString(R.string.wrong_phone_number));
                    mPhoneLayout.setErrorEnabled(true);

                } else if (e instanceof FirebaseTooManyRequestsException) {
                    // The SMS quota for the project has been exceeded
                    // when free sms limitation is reached
                }
            }

            @Override
            public void onCodeSent(final String verificationId, PhoneAuthProvider.ForceResendingToken forceResendingToken) {

                showVerificationDialog(verificationId);
            }
        }
);

请在Github上检查以下问题。根据最近的评论,问题已得到解决:


我还没有使用最新版本进行测试,但是如果您尝试将
phoneNumber
作为字段之一来修补白名单上的电话号码,firebase会抛出此错误。

您是否碰巧使用了白名单上的电话号码?如果是,您尝试登录的用户是否通过admin sdk使用白名单上的电话号码创建?