📅  最后修改于: 2023-12-03 15:40:46.824000             🧑  作者: Mango
在添加测试电话号码到 Firebase 时,出现了一些问题,无法成功添加号码。具体表现为:
以上两种现象都表明号码无法被正确识别。主要原因有两个:
Firebase 在处理电话号码时,要求使用国际电话格式,即在号码前加上国际区号,如 +86 表示中国。
号码必须是真实存在的,否则 Firebase 无法验证。
要解决这个问题,需要按下列步骤操作:
确认使用国际电话格式,并在号码前加上国际区号。
确认号码真实存在,并且未被其他 Firebase 帐号绑定。如果该号码已经被其他 Firebase 帐号绑定,需要使用其他号码进行测试。
如果问题仍然存在,请检查网络连接是否正常,并尝试在不同的网络环境中进行测试。
下面是使用 JavaScript 调用 Firebase 验证 API 的代码片段:
firebase.auth().signInWithPhoneNumber(phoneNumber, appVerifier)
.then((verificationId) => {
// 验证码发送成功,可以显示 UI 让用户输入验证码
})
.catch((error) => {
console.error(`验证失败:${error.code} - ${error.message}`);
});
在上述代码中,phoneNumber
参数必须使用国际电话格式。如果该参数格式不正确,将返回 auth/invalid-phone-number
错误。