Firebase App Check生产环境403报错:App attestation failed求助
解决Firebase App Check生产环境Play Integrity验证失败(403)的问题
核心排查与修复步骤
1. 核对生产签名SHA-256配置
- 确认你通过
gradlew signingReport获取的是生产签名密钥的SHA256值,而非debug密钥的(signingReport输出里要找release变体对应的条目)。 - 登录Firebase控制台,进入项目设置→对应Android应用,检查是否已添加该生产SHA256,字符不能有拼写错误。
2. 启用Play Integrity API
- 打开Google Cloud控制台,找到对应项目→API和服务→已启用的API,确认Play Integrity API已启用。未启用的话手动开启,等待5-10分钟让配置生效。
3. 匹配Google Play签名配置(若开启应用签名)
- 如果你在Google Play控制台开启了「App Signing by Google Play」,Firebase需要配置的是Google Play提供的应用签名密钥SHA256(在Play控制台→应用完整性→应用签名里查看),而非本地的上传密钥SHA256。
- 未开启应用签名的话,确保打包生产包时使用的是你配置到Firebase的本地生产签名文件。
4. 检查Firebase App Check控制台配置
- 进入Firebase控制台→App Check→对应Android应用,确认Provider选择的是Play Integrity且状态为启用,不要误选已废弃的SafetyNet。
5. 确认代码逻辑正确性
- 你的代码通过
__DEV__切换provider的逻辑没问题,但要确保生产打包时__DEV__为false,避免错误加载debug模式配置。 - 生产环境无需配置
debugToken,当前代码仅在debug模式下使用该参数,这部分无需修改。
6. 额外验证项
- 等待配置同步:Firebase与Google Cloud的配置变更需要5-10分钟生效,修改后不要立即测试。
- 核对包名:Firebase控制台的Android应用包名需与生产包完全一致,大小写、字符均不能出错。
- 使用正式测试包:必须用release包或Google Play内部测试渠道的包验证,debug包签名与生产包不一致,无法通过生产环境校验。
内容的提问来源于stack exchange,提问作者showtime
相关产品推荐
相关产品推荐

