使用服务帐号进行身份验证

服务帐号对于在 CI 环境中设置 App Distribution 非常有用。您可以使用服务帐号进行身份验证,这样就能使用客户端库(例如:Firebase CLI、Gradle 和 fastlane)来分发您的构建版本。当您使用服务帐号进行身份验证时,Firebase 使用应用默认凭据 (ADC) 查找您的应用凭据,而您可以通过设置 GOOGLE_APPLICATION_CREDENTIALS 环境变量或在应用代码中指向服务帐号密钥的路径来提供应用凭据。

  1. 打开 Google Cloud 控制台,选择您的项目。
  2. 点击创建服务帐号,然后输入服务帐号详细信息。
  3. 点击创建并继续
  4. 添加 Firebase App Distribution Admin 角色,然后点击完成
  5. 创建一个 JSON 私钥并将其移到构建环境可访问的位置。请务必将此文件保存在安全的位置,因为它会向管理员授予对您 Firebase 项目中 App Distribution 的访问权限。
  6. 如果您是在 2019 年 9 月 20 日之后创建的应用,请跳过此步骤:在 Google API 控制台中,启用 Firebase App Distribution API。出现提示时,请选择与您的 Firebase 项目同名的项目。

  7. 提供您的服务帐号凭据:

    • 仅适用于 Gradle:在 build.gradle 文件中,将属性 serviceCredentialsFile 设置为私钥 JSON 文件:

      android {
      
          // ...
      
          buildTypes {
              release {
                  firebaseAppDistribution {
                      serviceCredentialsFile="/absolute/path/to/credentials/file.json"
                      releaseNotesFile="/path/to/releasenotes.txt"
                      testers="ali@example.com, bri@example.com, cal@example.com"
                  }
              }
          }
      
          // ...
      
      }
      

      或者,您可以按照以下步骤改为向应用代码提供凭据。

    • 对于 Firebase CLI、fastlane 或 Gradle:将环境变量 GOOGLE_APPLICATION_CREDENTIALS 设置为私钥 JSON 文件的路径:

      export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json