Firebase电话号码验证不总是发送短信

时间:2020-04-10 21:50:44

标签: android firebase firebase-authentication

我有一个用例,我需要通过电话号码来标识每个用户,这是因为我的商店将需要给请求订单的用户打电话,所以我遵循了文档和所有github存储库中的代码

实际上,该代码有效,并且向我发送了短信以进行验证,并且一切正常!

现在,在发布之前,我刚刚插入了另一部手机,要求验证密码,并且代码从未到达!

我刚刚在另一部电话中尝试使用另一个号码,并且验证码也从未到达过该电话。

但是我实际上使用实际代码验证了电话号码,并且该代码可以正常工作,所以为什么代码无法到达我的用户电话?

我的用例需要此功能,如果该功能在Firebase方面,我将需要移至其他服务

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

对于测试,您可以在控制台上使用与测试电话号码一起添加的验证码。 Firebase Console Dashboard-> Authentication-> SignIn Method-> Phone-> Phone numbers for testing

有时,firebase不需要发送otp进行确认。它可以自动完成。 在两种情况下会调用此方法:

  • 即时验证:在某些情况下,无需发送或输入验证码即可立即验证电话号码。

  • 自动检索:在某些设备上,Google Play服务可以自动检测传入的验证短信并执行验证,而无需用户进行任何操作。 (某些运营商可能不提供此功能。) 无论哪种情况,都已经成功验证了用户的电话号码,您可以使用传递给回调的PhoneAuthCredential对象登录用户。

https://firebase.google.com/docs/auth/android/phone-auth#onverificationcompletedphoneauthcredential

查看适用于Android的Firebase电话验证的文档:https://firebase.google.com/docs/auth/android/phone-auth?authuser=1#test-with-whitelisted-phone-numbers