📜  添加测试电话号码firebase时出错 (1)

📅  最后修改于: 2023-12-03 15:40:46.824000             🧑  作者: Mango

添加测试电话号码 Firebase 时出错

问题描述

在添加测试电话号码到 Firebase 时,出现了一些问题,无法成功添加号码。具体表现为:

  • 在 Firebase 控制台添加号码时,提示“无法添加该电话号码,请检查是否已注册 Firebase 帐户”;
  • 在代码中调用 Firebase 的验证 API 时,返回错误码“auth/invalid-phone-number”。
原因分析

以上两种现象都表明号码无法被正确识别。主要原因有两个:

  1. Firebase 在处理电话号码时,要求使用国际电话格式,即在号码前加上国际区号,如 +86 表示中国。

  2. 号码必须是真实存在的,否则 Firebase 无法验证。

解决方案

要解决这个问题,需要按下列步骤操作:

  1. 确认使用国际电话格式,并在号码前加上国际区号。

  2. 确认号码真实存在,并且未被其他 Firebase 帐号绑定。如果该号码已经被其他 Firebase 帐号绑定,需要使用其他号码进行测试。

  3. 如果问题仍然存在,请检查网络连接是否正常,并尝试在不同的网络环境中进行测试。

代码片段

下面是使用 JavaScript 调用 Firebase 验证 API 的代码片段:

firebase.auth().signInWithPhoneNumber(phoneNumber, appVerifier)
    .then((verificationId) => {
        // 验证码发送成功,可以显示 UI 让用户输入验证码
    })
    .catch((error) => {
        console.error(`验证失败:${error.code} - ${error.message}`);
    });

在上述代码中,phoneNumber 参数必须使用国际电话格式。如果该参数格式不正确,将返回 auth/invalid-phone-number 错误。