Firebase Auth兼容问题:美国Google Fi手机号无法接收验证短信
解决Firebase Auth短信验证在Google Fi设备上无法接收的问题
检查Google Fi的短信相关设置
Google Fi默认可能开启短信跨设备同步或垃圾短信过滤功能,导致当前设备收不到验证短信。进入Google Fi的设置界面,关闭短信转发到其他关联设备的选项,同时将Firebase验证短信的发送号码加入白名单,避免被过滤。启用Firebase应用内验证
Google Fi的网络环境可能对传统短信通道有特殊处理,改用Firebase的应用内验证(依赖Google Play服务)可以绕过运营商短信限制。在代码中配置并启用该方式:// 确保应用内验证未被禁用 FirebaseAuth.instance.settings.appVerificationDisabledForTesting = false; // 发起验证请求时使用标准流程 await FirebaseAuth.instance.verifyPhoneNumber( phoneNumber: targetPhoneNumber, verificationCompleted: (PhoneAuthCredential credential) async { await FirebaseAuth.instance.signInWithCredential(credential); }, verificationFailed: (FirebaseAuthException e) { // 处理验证失败逻辑 }, codeSent: (String verificationId, int? resendToken) { // 保存verificationId用于后续验证 }, codeAutoRetrievalTimeout: (String verificationId) {}, );同时确保设备上的Google Play服务已更新至最新版本。
排查Firebase控制台的号码限制
登录Firebase控制台,进入「Authentication」→「登录方法」→「电话」选项,检查是否设置了号码黑名单或地区限制,确认Google Fi号码所属的地区在允许范围内,没有被误拦截。尝试切换为语音验证
若短信验证持续失败,可在验证流程中提供语音验证选项,Google Fi对语音通话的支持通常更稳定。在发送验证请求时,确保Firebase控制台已开启语音验证支持,用户在收不到短信时可触发重发并选择语音验证。切换设备网络模式
若设备处于Wi-Fi优先模式,尝试切换到蜂窝网络后再次发送验证短信,部分Google Fi设备在Wi-Fi环境下可能会影响短信接收优先级。
内容的提问来源于stack exchange,提问作者puzzled
相关产品推荐
相关产品推荐

