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

如何在CI/CD的Firebase Test Lab中配置控制台生成的App Check调试令牌?

解决Firebase App Check调试令牌在CI/CD+Firebase Test Lab中的预配置问题

你需要用DebugAppCheckProviderFactory的带参重载方法直接传入控制台生成的调试令牌,官方其实提供了这个能力,只是容易被忽略。下面是具体实现步骤:

1. 修改App Check初始化代码

直接使用getInstance(String debugToken)方法,传入预先生成的调试令牌:

FirebaseAppCheck.getInstance().installAppCheckProviderFactory(
    if (BuildConfig.DEBUG) {
        // 传入控制台生成的调试令牌
        DebugAppCheckProviderFactory.getInstance(BuildConfig.FIREBASE_APP_CHECK_DEBUG_TOKEN)
    } else {
        PlayIntegrityAppCheckProviderFactory.getInstance()
    }
)

2. 通过构建变量注入令牌(避免硬编码)

在App模块的构建配置文件中,给Debug构建类型添加BuildConfig字段,通过Gradle属性传入令牌:

Groovy版本(build.gradle)

android {
    buildTypes {
        debug {
            // 从Gradle属性读取令牌,默认值可留空或填测试用令牌
            buildConfigField "String", "FIREBASE_APP_CHECK_DEBUG_TOKEN", "\"${project.findProperty('firebaseAppCheckDebugToken') ?: ''}\""
        }
    }
}

Kotlin DSL版本(build.gradle.kts)

android {
    buildTypes {
        debug {
            val debugToken = project.findProperty("firebaseAppCheckDebugToken")?.toString() ?: ""
            buildConfigField("String", "FIREBASE_APP_CHECK_DEBUG_TOKEN", "\"$debugToken\"")
        }
    }
}

3. 在CI/CD流水线中传递令牌

将控制台生成的调试令牌存在CI的密钥管理中(比如GitHub Secrets、GitLab CI/CD Variables等),然后在构建命令中通过Gradle参数传入:

示例:GitHub Actions

- name: 构建Debug APK
  run: ./gradlew assembleDebug -PfirebaseAppCheckDebugToken=${{ secrets.FIREBASE_APP_CHECK_DEBUG_TOKEN }}

示例:GitLab CI

build_debug:
  stage: build
  script:
    - ./gradlew assembleDebug -PfirebaseAppCheckDebugToken=$FIREBASE_APP_CHECK_DEBUG_TOKEN
  variables:
    FIREBASE_APP_CHECK_DEBUG_TOKEN: ${{ secrets.FIREBASE_APP_CHECK_DEBUG_TOKEN }}

注意事项

  • 确保你已经在Firebase控制台的App Check设置中,将这个预生成的调试令牌添加到Android应用的调试提供者列表里。
  • 绝对不要把调试令牌硬编码到代码中,必须通过CI密钥或本地Gradle属性(比如local.properties)传递。
  • 测试时确认构建的是Debug变体,因为只有Debug构建会使用DebugAppCheckProviderFactory。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 00:35:17