Firebase Phone 身份验证突然不起作用。 onCodeSent 已触发但未收到短信
Firebase Phone Auth suddenly don't works. onCodeSent triggered but no SMS received
更新:
突然间,我尝试了这次尝试,它突然在我的应用程序和 firebase 控制台上没有更改任何代码的情况下工作。我不知道 why/how 谁能解释一下?有谁知道如何防止这个问题?
- 这是我的验证码历史
https://i.stack.imgur.com/U2vMB.jpg
原创POST:
onCodeSent 已触发,但收不到任何短信代码。上次我也遇到过,但一天后就好了。但是昨晚,如果我的 android studio 代码和 firebase 在 phone 身份验证方面没有任何更改,我将无法再次收到任何短信。这和上次发生的事情是一样的。早些时候,当我在上午 7:00 左右醒来时,我可以收到一条短信代码,但后来我再次尝试在下午 12:00 左右再次测试它,我再也收不到任何短信了。我不确定这里有什么问题。我需要尽快得到答复,因为我需要在下周答辩时提交我的项目。谢谢
还在另一个位置的另一台设备上进行了测试。它也没有收到任何短信。还尝试了我的旧项目应用程序,它是 working/receiving SMS 但有同样的问题。
Firebase 控制台:
- Phone 提供商已启用
- 已应用 SHA-1 和 SHA-256
- Phone测试号为空
Android工作室:
- 已连接到 firebase 项目
- 关于 phone auth
没有代码更改
- onCodeSent 已触发但收不到任何短信代码
- 提供的号码正确
- Web API 来自 firebase 控制台的密钥已应用于 (curent_key: "key") google-services.json
- 还尝试清理并重建项目。
有时我会收到短信代码,有时不会。
来自 onCodeSent 的 Toast 正在显示。我也尝试显示 token 和 verificationId 但它不是 null。
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);
}
enter image description here
80% - 这就是我的问题的答案。再见
更新: 突然间,我尝试了这次尝试,它突然在我的应用程序和 firebase 控制台上没有更改任何代码的情况下工作。我不知道 why/how 谁能解释一下?有谁知道如何防止这个问题?
- 这是我的验证码历史 https://i.stack.imgur.com/U2vMB.jpg
原创POST: onCodeSent 已触发,但收不到任何短信代码。上次我也遇到过,但一天后就好了。但是昨晚,如果我的 android studio 代码和 firebase 在 phone 身份验证方面没有任何更改,我将无法再次收到任何短信。这和上次发生的事情是一样的。早些时候,当我在上午 7:00 左右醒来时,我可以收到一条短信代码,但后来我再次尝试在下午 12:00 左右再次测试它,我再也收不到任何短信了。我不确定这里有什么问题。我需要尽快得到答复,因为我需要在下周答辩时提交我的项目。谢谢
还在另一个位置的另一台设备上进行了测试。它也没有收到任何短信。还尝试了我的旧项目应用程序,它是 working/receiving SMS 但有同样的问题。
Firebase 控制台:
- Phone 提供商已启用
- 已应用 SHA-1 和 SHA-256
- Phone测试号为空
Android工作室:
- 已连接到 firebase 项目
- 关于 phone auth 没有代码更改
- onCodeSent 已触发但收不到任何短信代码
- 提供的号码正确
- Web API 来自 firebase 控制台的密钥已应用于 (curent_key: "key") google-services.json
- 还尝试清理并重建项目。
有时我会收到短信代码,有时不会。 来自 onCodeSent 的 Toast 正在显示。我也尝试显示 token 和 verificationId 但它不是 null。
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);
}
enter image description here
80% - 这就是我的问题的答案。再见