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

集成App Check with Play Integrity遇阻:Flutter应用请求未验证问题

Flutter集成App Check + Play Integrity未验证请求问题排查

针对你遇到的App Check控制台显示100%未验证请求、Play Integrity标签状态异常的问题,以下是可能遗漏的排查点:

1. 确认App Check初始化逻辑是否正确

  • 必须在Firebase.initializeApp()之后、任何Firebase服务调用之前初始化App Check,且生产环境要指定AndroidProvider.playIntegrity:
    void main() async {
      WidgetsFlutterBinding.ensureInitialized();
      await Firebase.initializeApp();
      // 生产环境启用Play Integrity,调试模式可切换为debug提供者
      await FirebaseAppCheck.instance.activate(
        androidProvider: kReleaseMode ? AndroidProvider.playIntegrity : AndroidProvider.debug,
      );
      runApp(const MyApp());
    }
    
  • 检查是否存在调试代码残留:比如发布版本中错误使用了AndroidProvider.debug,导致无法触发Play Integrity验证。

2. 验证Play Integrity与Firebase的关联状态

  • 进入Google Play控制台「App integrity」>「Play Integrity」页面,确认已启用Play Integrity服务,且关联的Firebase项目ID与你使用的完全一致。选择项目后务必点击「保存」,配置同步可能需要1-2小时生效。
  • 若页面仍显示「ready for Integration」,尝试重新关联Firebase项目,等待页面状态更新。

3. 核对应用签名SHA-256指纹

  • 确保添加到Firebase App Check的SHA-256是Google Play应用签名密钥的指纹,而非你本地的上传密钥。可在Google Play控制台「App signing」页面的「App signing key certificate」栏复制该值。
  • 在Firebase控制台的App Check设置中,确认Android应用的提供者已选择「Play Integrity」,而非SafetyNet或其他选项。

4. 检查google-services.json配置

  • 重新下载的google-services.json中必须包含app_check字段,示例如下:
    "app_check": {
      "android": {
        "play_integrity": {
          "enabled": true
        }
      }
    }
    
  • 若缺少该字段,回到Firebase控制台的App Check设置页面,重新保存配置后再下载json文件。

5. 确认应用发布渠道与版本

  • 确保你测试的是Google Play发布版本(包括正式版、测试版),且版本已通过Google Play的应用签名流程。本地debug版本默认使用调试提供者,需单独注册调试令牌。
  • 若使用测试渠道,需确保测试设备已在Firebase控制台注册调试令牌,且代码中针对调试环境正确启用了AndroidProvider.debug。

6. 检查Play Integrity API权限与配额

  • 登录Google Cloud控制台,确认Firebase项目的服务账号(如firebase-adminsdk-xxx@xxx.iam.gserviceaccount.com)已拥有「Play Integrity API User」角色。
  • 查看Play Integrity API的配额使用情况,确认调用未被限制(路径:APIs & Services > Dashboard > Play Integrity API)。

7. 查看应用日志定位错误

  • 使用Android Studio Logcat过滤「FirebaseAppCheck」或「PlayIntegrity」关键词,查找初始化或令牌请求过程中的错误信息。常见错误包括:包名不匹配、签名密钥不一致、API未启用、网络拦截等。

8. 等待服务同步延迟

  • Google Play与Firebase之间的配置和统计数据同步存在延迟,发布应用后建议等待24小时再查看App Check控制台的验证数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 14:49:52