Firebase 电话身份验证突然不起作用。 onCodeSent 已触发但未收到短信

问题描述 投票:0回答:1

更新: 突然我尝试这次尝试,它突然工作了,而无需更改我的应用程序和 Firebase 控制台上的任何代码。我不知道为什么/如何有人解释?有谁知道如何防止这个问题?

原帖: onCodeSent 已触发但无法接收任何短信代码。我上次也遇到过这种情况,不过一天后就好了。但昨晚,如果我的 android studio 代码和 firebase 在电话身份验证方面没有任何更改,我就无法再次收到任何短信。上次也发生过同样的事情。早些时候,当我早上 7:00 左右醒来时,我可以收到短信代码,但后来我在中午 12:00 左右再次尝试测试它,但我无法再次收到任何短信。我不确定这里出了什么问题。我需要尽快得到答案,因为我需要在下周进行答辩。谢谢你

还在另一个位置的另一台设备上进行了测试。它也不会收到任何短信。还尝试了我的旧项目应用程序,该应用程序正在工作/接收短信,但有同样的问题。

Firebase 控制台:

  • 电话提供商已启用
  • 应用了 SHA-1 和 SHA-256
  • 测试电话号码为空

Android Studio:

  • 已连接到 firebase 项目
  • 电话验证方面没有代码更改
  • onCodeSent 被触发但收不到任何短信代码
  • 提供了正确的号码
  • Firebase 控制台中的 Web API 密钥已应用于 (current_key: "key") google-services.json
  • 还尝试清理和重建项目。

有时我会收到短信代码,有时则不会。 显示来自 onCodeSent 的 Toast。我还尝试显示令牌和verificationId,但它不为空。

private void sendVerificationCode(String contactNumber) {
        PhoneAuthOptions options =
                PhoneAuthOptions.newBuilder(mAuth)
                        .setPhoneNumber(contactNumber)       // Phone number to verify
                        .setTimeout(60L, TimeUnit.SECONDS) // Timeout and unit
                        .setActivity(this)                 // Activity (for callback binding)
                        .setCallbacks(new PhoneAuthProvider.OnVerificationStateChangedCallbacks() {
                            @Override
                            public void onVerificationCompleted(PhoneAuthCredential credential) {
                                signInWithPhoneAuthCredential(credential);
                                loading.dismiss();
                            }

                            @Override
                            public void onVerificationFailed(FirebaseException e) {
                                Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_LONG).show();
                                loading.dismiss();
                            }

                            @Override
                            public void onCodeSent(@NonNull String verificationId,
                                                   @NonNull PhoneAuthProvider.ForceResendingToken token) {
                                verificationDialog(contactNumber);
                                verificationCode = verificationId;
                                loading.dismiss();
                                Toast.makeText(getApplicationContext(), "Verification code sent to " + contactNumber, Toast.LENGTH_LONG).show();
                            }
                        })          // OnVerificationStateChangedCallbacks
                        .build();
        PhoneAuthProvider.verifyPhoneNumber(options);
    }
android-studio firebase-authentication recaptcha verification sms-verification
1个回答
0
投票

enter image description here

80% - 这就是我问题的答案。再见

© www.soinside.com 2019 - 2024. All rights reserved.