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

升级Firebase App Check插件出现invalid request,如何实现无断点升级?

Firebase App Check升级后"invalid request"问题解决指南

核心背景

从0.0.7+1升级到0.1.1+4版本后,Firebase App Check对Android端的验证机制、依赖配置和初始化API都有了关键更新,这是导致"invalid request"的主要原因。以下是针对性的修复步骤:

1. 对齐Android端依赖配置

  • 打开android/build.gradle,确保Firebase BOM版本不低于32.0.0,同时替换旧的SafetyNet依赖为Play Integrity(官方推荐):
    dependencies {
        // 保留其他依赖,更新Firebase BOM和App Check依赖
        implementation platform('com.google.firebase:firebase-bom:32.0.0')
        implementation 'com.google.firebase:firebase-appcheck-playintegrity'
    }
    
  • 若坚持使用SafetyNet(不推荐,已逐步弃用),需保留firebase-appcheck-safetynet依赖,且要在Firebase控制台保持验证提供者一致。

2. 更新Flutter初始化代码

新版本API有变更,旧写法会导致验证失败:

  • 旧版本初始化示例:
    await FirebaseAppCheck.instance.activate(
      androidProvider: AndroidProvider.safetyNet,
    );
    
  • 新版本调整为:
    await FirebaseAppCheck.instance.activate(
      androidProvider: AndroidProvider.playIntegrity,
      // 若需继续用SafetyNet,替换为AndroidProvider.safetyNet
    );
    
  • 调试模式下,通过Logcat搜索AppCheckDebug获取新的调试令牌,添加到Firebase控制台的「App Check -> 调试设备」列表中,旧令牌已失效。

3. 核对控制台与签名配置

  • 登录Firebase控制台,进入项目设置 -> 对应Android应用,确认SHA-256指纹(调试/发布签名)已正确添加,且与本地签名文件一致。
  • 进入「App Check」面板,确保Android应用的App Check已启用,验证提供者(Play Integrity/SafetyNet)与代码配置完全匹配。
  • 若使用Play Integrity,需在Google Play Console中启用Play Integrity API,确保与Firebase关联的云项目已开通该API。

4. 深度清理重建项目

  • 执行flutter clean,删除项目根目录下的build文件夹,以及android/.gradle、android/build文件夹。
  • 运行flutter pub get重新拉取依赖,再在android目录下执行./gradlew clean,最后重新构建应用。

日志排查

如果以上步骤无效,查看Android Studio的Logcat,搜索FirebaseAppCheck关键词,会显示具体错误原因(比如令牌签名不匹配、API未启用、权限问题等),针对性修复即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 20:35:31