サービス アカウントで認証を行う


サービス アカウントは、CI 環境で App Distribution を設定するのに役立ちます。 サービス アカウントで認証すると、クライアント ライブラリ(Firebase CLI、Gradle、fastlane など)を使用してビルドを配布できるようになります。サービス アカウントを使用して認証する場合、Firebase は アプリケーションのデフォルト認証情報(ADC)を使用してアプリの認証情報を特定します。ADC を指定するには、GOOGLE_APPLICATION_CREDENTIALS 環境変数を設定するか、アプリのコード内でサービス アカウント キーのパスを指定します。

  1. Google Cloud コンソールを開き、プロジェクトを選択します。
  2. [サービス アカウントを作成] をクリックし、サービス アカウントの詳細を入力します。
  3. [作成して続行] をクリックします。
  4. Firebase App Distribution 管理者ロールを追加し、[完了] をクリックします。
  5. JSON 秘密鍵を作成し、ビルド環境からアクセスできる場所にキーを移動します。このファイルは安全な場所に保管してください。管理者が Firebase プロジェクトの App Distribution にアクセスするために、このファイルが必要になります。
  6. (2019 年 9 月 20 日以降にアプリを作成した場合は、この手順を省略します)Google API Console で、Firebase App Distribution API を有効にします。プロンプトが表示されたら、Firebase プロジェクトと同じ名前のプロジェクトを選択します。

  7. サービス アカウントの認証情報を入力します。

    • Gradle のみ: build.gradle ファイルで秘密鍵の JSON ファイルにプロパティ serviceCredentialsFile を設定します。

      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