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

Android Firebase手机认证报错,求Google Play Integrity适配方案

解决Firebase手机认证「缺少有效应用标识符」报错及Play Integrity替代方案

一、先解决开启Google Play应用签名后的核心问题

你遇到的报错本质是Firebase无法验证应用合法性——开启应用签名后,应用的签名指纹变为Google Play生成的官方签名,而非你本地的调试/上传密钥指纹。必须完成以下操作:

  1. 打开Google Play控制台,进入目标应用 > 应用签名,复制应用签名证书的SHA-1和SHA-256值
  2. 打开Firebase控制台,进入项目设置 > 对应Android应用 > 签名证书指纹,添加刚才复制的两个指纹(不要仅保留本地上传密钥的指纹)

二、切换至Google Play Integrity替代已弃用的SafetyNet

SafetyNet弃用后,Firebase Auth已原生支持Play Integrity验证,无需手动编写复杂的Play Integrity调用逻辑,按以下步骤配置即可:

  1. 启用Play Integrity API:在与Firebase项目关联的Google Cloud控制台中,搜索并启用「Google Play Integrity API」
  2. 配置Firebase认证:在Firebase控制台 > 认证 > 登录方式 > 电话,找到「使用Play Integrity代替SafetyNet」选项并开启
  3. 更新依赖版本:确保app/build.gradle中使用支持Play Integrity的最新Firebase Auth依赖:
// 确保Firebase Auth版本不低于22.0.0(推荐使用最新稳定版)
implementation "com.google.firebase:firebase-auth:22.3.0"
// 引入Play Integrity依赖
implementation "com.google.android.play:integrity:1.2.0"
  1. 代码无需大幅修改:原有的Firebase Phone Auth调用代码可直接复用,Firebase会自动通过Play Integrity完成应用合法性验证,无需手动调用Play Integrity的API

三、额外排查点

  • 确认Google Play控制台的应用包名与Firebase项目中注册的包名完全一致
  • 测试时务必使用Google Play分发的安装包(内部测试/封闭测试/正式版),本地调试包可能无法触发Play Integrity验证
  • 检查Firebase项目的服务账号权限:在Google Cloud控制台的IAM页面,给Firebase服务账号添加「Play Integrity API 客户端」角色

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 19:33:27