Android正式版集成Firebase App Check时应用验证失败求助
Android Firebase App Check正式版403错误:App attestation failed
我在Android应用中集成Firebase,已配置Google密钥的SHA-256证书指纹,但所有Firebase请求均被拦截,无法正常使用。
错误输出:
获取App Check令牌失败;使用占位符令牌替代。错误:n8.j: API返回错误,代码:403,内容:App attestation failed。
我已完成以下操作:
- 启用相关API
- 在应用中添加App Check初始化代码
代码如下:
Firebase.initialize(context = this) if (BuildConfig.DEBUG) { Firebase.appCheck.installAppCheckProviderFactory( DebugAppCheckProviderFactory.getInstance(), ) } else { Firebase.appCheck.installAppCheckProviderFactory( PlayIntegrityAppCheckProviderFactory.getInstance(), ) }
Debug版本可正常运行,但正式版失效,我已添加Play控制台密钥管理板块中签名密钥的SHA256,请问是否遗漏了特定设置,或是指纹本身存在问题?
排查方向和解决办法
- 核对正式包的SHA-256指纹
别只依赖Play控制台的显示,手动导出正式签名包的指纹再对比:用命令keytool -list -v -keystore 你的正式签名文件路径 -alias 密钥别名,把输出的SHA-256和Firebase控制台里的记录完全匹配,注意大小写、空格都不能错。 - 检查App Signing by Google Play的指纹
如果你的应用用了Google Play的应用签名服务,那Firebase控制台需要同时添加你自己的上传密钥SHA-256和Google生成的应用签名密钥SHA-256,很多人只加了前者导致验证失败。 - 确认Play Integrity配置
去Firebase控制台的App Check模块,确保你的应用已经启用了Play Integrity作为验证提供者,并且包名和应用一致。 - 验证Play Integrity API状态
登录Google Cloud控制台,确认你的项目已经启用了Play Integrity API,没有权限配置问题。 - 本地测试正式签名包
先把正式签名的APK/ABK直接安装到本地设备测试,如果还是报错,说明是本地配置或指纹问题;如果本地正常,那可能是Play商店的分发缓存,等几个小时再尝试发布。
内容的提问来源于stack exchange,提问作者Bob
相关产品推荐
相关产品推荐

