集成Play-Integrity API后Firebase App Check令牌无效问题求助
排查Firebase App Check(Play Integrity)无效Token问题
以下是针对你遇到的无效AppCheck token问题的排查步骤:
核对签名指纹的完整性
如果你启用了Google Play应用签名,Firebase应用中需要同时添加两个SHA指纹:- 本地上传密钥的SHA-1/SHA-256(Gradle签名报告里的那个)
- Google Play控制台「应用签名」页面里生成的应用签名密钥的SHA-1/SHA-256
务必确保两个指纹都准确添加到Firebase应用的设置中,没有大小写错误或空格。
确认Play Integrity API的关联与权限
- 检查Google Cloud控制台中启用Play Integrity API的项目,是否和你的Firebase项目是同一个。
- 前往Google Cloud IAM页面,找到
firebase-appcheck@[你的项目ID].iam.gserviceaccount.com这个服务账号,确保它拥有「Play Integrity API 调用者」的角色权限。
修正App Check初始化逻辑
不要在每个Activity的onCreate中重复初始化App Check,应该在自定义的Application类的onCreate方法中全局初始化一次,并且确保这段代码在所有其他Firebase SDK(比如Firebase Database)的调用之前执行,示例代码:public class MyApp extends Application { @Override public void onCreate() { super.onCreate(); FirebaseApp.initializeApp(this); FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance(); firebaseAppCheck.installAppCheckProviderFactory(PlayIntegrityAppCheckProviderFactory.getInstance()); } }记得在
AndroidManifest.xml中声明这个自定义Application类。验证测试包的来源
- 如果测试的是正式包,必须从Google Play的发布渠道(包括内部测试、封闭测试)下载安装,本地直接签名安装的包如果和Play应用签名密钥不匹配,会导致Token无效。
- 若本地调试正式签名包,需确保使用的上传密钥指纹已添加到Firebase。
检查Firebase App Check配置
- 登录Firebase控制台的App Check页面,确认你的Android应用已启用「Play Integrity」提供商,状态显示正常。
- 如果刚开启强制执行,可能需要等待5-10分钟让配置生效,不要立即测试。
更新依赖版本
确保Firebase App Check和Play Integrity相关依赖使用最新稳定版,避免版本兼容性问题:dependencies { implementation 'com.google.firebase:firebase-appcheck:16.0.2' implementation 'com.google.firebase:firebase-appcheck-playintegrity:16.0.2' }
内容的提问来源于stack exchange,提问作者user20918628
相关产品推荐
相关产品推荐

