You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebase手机号登录突然失效,报keyset not found错误求助

解决方案:Firebase UI手机号登录的Keyset错误与验证码接收问题

针对你遇到的keyset not found错误、验证码无法接收及浏览器空白页跳转问题,以下是可行的解决步骤:

1. 清除应用缓存并重装

密钥集存储在应用的SharedPreferences中,可能因缓存损坏导致读取失败:

  • 进入设备设置 → 应用管理 → 找到你的应用 → 清除数据和缓存
  • 卸载应用后重新安装,触发系统重新生成密钥集

2. 验证Google Play Integrity配置完整性

  • 确认Firebase控制台已启用Play Integrity API(进入项目 → 产品 → Play Integrity)
  • 确保应用已上传至Google Play Console(至少内部测试版本),Play Integrity在未发布的本地构建中可能存在验证异常(测试号码不受此限制是因为测试号走了豁免逻辑)

3. 升级Firebase UI版本

你当前使用的8.0.2版本较旧,可能与新集成的Play Integrity存在兼容性问题:

  • 将Firebase UI依赖升级至最新稳定版(如com.firebaseui:firebase-ui-auth:10.0.0)
  • 同步Gradle后,执行Clean Project和Rebuild Project操作

4. 确保Firebase Auth初始化正常

在自定义Application类中提前初始化FirebaseApp,避免组件加载延迟:

public class MyApp extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        FirebaseApp.initializeApp(this);
    }
}

并在AndroidManifest.xml中指定该Application:

<application
    android:name=".MyApp"
    ...>
    ...
</application>

5. 修复浏览器跳转空白页问题

该问题源于重定向URL配置异常:

  • 检查Firebase控制台 → 认证 → 登录方法 → 手机号,确认已正确配置应用包名和SHA1/SHA256指纹
  • 确保AndroidManifest.xml中存在处理Firebase Auth重定向的Activity配置(Firebase UI通常自动生成,若缺失需手动添加):
<activity
    android:name="com.firebase.ui.auth.ui.RedirectHandlerActivity"
    android:launchMode="singleTask">
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data
            android:host="你的项目ID.firebaseapp.com"
            android:path="/__/auth/handler"
            android:scheme="https" />
    </intent-filter>
</activity>

内容的提问来源于stack exchange,提问作者Miriana Itani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 04:48:18