Firebase CLI を使用してテスターに Android アプリをテスターに配布する


このガイドでは、Firebase CLI を使用して Android App Bundle(AAB)をテスターに配布する方法について説明します。CLI ツールを使用すると、ビルドのテスターとリリースノートを指定し、ビルドを配布できます。

App DistributionGoogle Play の内部アプリ共有サービスと統合して、アップロードした AAB を処理し、テスターのデバイス設定用に最適化された APK を提供します。AAB を配布すると、次のことが可能になります。

  • テスターのデバイス向けに最適化された APK(Google Play が提供)を実行する。

  • デバイス固有の問題を検出してデバッグする。

  • Play Feature DeliveryPlay Asset Delivery などの App Bundle 機能をテストする。

  • テスターのダウンロード サイズを削減する。

必要な権限

AAB を App Distribution にアップロードするには、Firebase アプリを Google Play のアプリにリンクする必要があります。これらの操作を行うには、必要なアクセスレベルを持っている必要があります。

必要な Firebase アクセス権がない場合は、Firebase プロジェクトのオーナーに、Firebase コンソールの IAM 設定を介して該当するロールを割り当ててもらうよう依頼してください。オーナーの確認や割り当てなど、Firebase プロジェクトへのアクセスについてご不明な点がある場合は、Firebase プロジェクトの権限とアクセスに関するよくある質問をご覧ください。

次の表は、Firebase アプリを Google Play のアプリにリンクする操作と、AAB をアップロードする操作に適用されます。

Firebase コンソールでの操作 必要な IAM 権限 必要な権限をデフォルトで含む IAM ロール その他の必要なロール
Firebase アプリを Google Play のアプリにリンクする firebase.playLinks.update 次のいずれかのロール: 管理者としての Google Play デベロッパー アカウントへのアクセス権
AAB を App Distribution にアップロードする firebaseappdistro.releases.update 次のいずれかのロール: ––

始める前に

  1. まだ Firebase を Android プロジェクトに追加していない場合は追加します。このワークフローを終了すると、Firebase Android アプリが Firebase プロジェクトに追加されます。

    他の Firebase プロダクトを使用していない場合は、プロジェクトを作成してアプリを登録するだけでかまいません。追加のプロダクトを使用する場合は、Android プロジェクトに Firebase を追加するの手順をすべて完了してください。

  2. Google Play への Firebase リンクを作成し、AAB をアップロードするには、アプリが次の要件を満たしていることを確認してください。

    • Google Play のアプリと Firebase Android アプリが同じパッケージ名で登録されていること。

    • Google Play のアプリがアプリ ダッシュボードで設定され、いずれかの Google Play トラック(内部テスト、クローズド テスト、オープンテスト、製品版)に配布されていること。

    • Google Play でアプリの審査が完了し、アプリが公開されていること。[アプリのステータス] 列に、内部テスト(未公開の内部テスト以外)、クローズド テスト、オープンテスト、製品版のいずれかのステータスが表示されている場合、アプリは公開されています。

  3. Firebase Android アプリを Google Play デベロッパー アカウントにリンクします。

    1. Firebase コンソールで、 [プロジェクト設定] に移動し、[統合] タブを選択します。

    2. Google Play カードの [リンク] をクリックします。
      すでに Google Play へのリンクがある場合は、[管理] をクリックします。

    3. 画面上の手順に沿って App Distribution 統合を有効にし、Google Play にリンクする Firebase Android アプリを選択します。

    Google Play へのリンクに関する詳細をご覧ください。

ステップ 1. アプリをビルドする

アプリのプレリリース版をテスターに配布する準備ができたら、AAB をビルドします(手順については、Android Studio のドキュメントをご覧ください)。

ステップ 2. テスターにアプリを配布する

テスターにアプリを配布するには、Firebase CLI を使用してアプリのファイルをアップロードします。

  1. Firebase CLI の最新バージョンをインストールするか、最新バージョンに更新します(ご使用の OS 固有の CLI のスタンドアロン バイナリをダウンロードすることをおすすめします)。ログインして、プロジェクトにアクセスできることを確認してください。
  2. Firebase コンソールの App Distribution ページで、配布するアプリを選択し、[始める] をクリックします。
  3. appdistribution:distribute コマンドを実行してアプリをアップロードし、テスターに配布します。次のパラメータを使用して配布を構成します。

    appdistribution:distribute オプション
    --app

    必須: アプリの Firebase アプリ ID。アプリ ID は Firebase コンソールの全般設定ページで確認できます。

    --app 1:1234567890:android:0a1b2c3d4e5f67890
    --token

    Firebase CLI を使用して CI 環境を認証するときに出力される更新トークン(詳細については CI システムで CLI を使用するをご覧ください)。

    --token "$FIREBASE_TOKEN"
    --release-notes
    --release-notes-file

    このビルドのリリースノート。

    リリースノートを直接指定します。

    --release-notes "Text of release notes"

    または、プレーン テキスト ファイルのパスを指定します。

    --release-notes-file "/path/to/release-notes.txt"
    --testers
    --testers-file

    招待するテスターのメールアドレス。

    メールアドレスのカンマ区切りのリストとしてテスターを指定します。

    --testers "ali@example.com, bri@example.com, cal@example.com"

    または、メールアドレスのカンマ区切りのリストを含む書式なしテキスト ファイルへのパスを指定します。

    --testers-file "/path/to/testers.txt"
    --groups
    --groups-file

    招待するテスター グループ(テスターを管理するをご覧ください)。グループはグループ エイリアスで指定します。これは、Firebase コンソールで検索できます。

    グループをカンマ区切りのリストとして指定します。

    --groups "qa-team, trusted-testers"

    または、グループ名のカンマ区切りのリストを含む書式なしテキスト ファイルのパスを指定します。

    --groups-file "/path/to/groups.txt"
    --debug

    詳細なログを出力するためのフラグ。

    --test-devices
    --test-devices-file

    次の配布タイプは、自動テスターのベータ版機能の一部です。

    ビルドを配布するテストデバイス(自動テストをご覧ください)。

    メールアドレスのカンマ区切りのリストとしてテスターを指定します。

    --test-devices: "model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait"

    または、テストデバイスのセミコロン区切りのリストを含む書式なしテキスト ファイルのパスを指定します。

    --test-devices-file: "/path/to/test-devices.txt"
    --test-username

    自動テスト中に使用する自動ログインのユーザー名。

    --test-password
    --test-password-file

    自動テスト中に使用する自動ログイン用のパスワード。

    または、パスワードを含む書式なしテキスト ファイルのパスを指定します。

    --test-password-file: "/path/to/test-password.txt"
    --test-username-resource

    自動テスト中に自動ログインに使用するユーザー名フィールドのリソース名。

    --test-password-resource

    自動テスト中に自動ログインに使用するパスワード フィールドのリソース名。

    --test-non-blocking

    自動テストを非同期で実行します。自動テストの結果は Firebase コンソールで確認できます。

    例:

    firebase appdistribution:distribute test.aab  \
        --app 1:1234567890:android:0a1b2c3d4e5f67890  \
        --release-notes "Bug fixes and improvements" --testers-file testers.txt
    

    リリースのアップロード後、Firebase CLI によって次のリンクが出力されます。これらのリンクにより、バイナリを管理し、テスターや他のデベロッパーが正しいリリースを入手できるようになります。

    • firebase_console_uri - 1 つのリリースを表示する Firebase コンソールへのリンク。このリンクは、組織内の他のデベロッパーと共有できます。
    • testing_uri - テスター エクスペリエンス(Android ネイティブ アプリ)のリリースへのリンク。これを使用すると、テスターはリリースノートを表示し、自分のデバイスにアプリをインストールできます。このリンクを使用するには、テスターにリリースへのアクセス権が必要です。
    • binary_download_uri - アプリのバイナリ(APK または AAB ファイル)を直接ダウンロードしてインストールする署名付きリンク。このリンクは 1 時間後に失効します。

    テスターとグループの管理

    リリースを配布するだけでなく、appdistribution:testers:addappdistribution:testers:remove を使用して新しいテスターを招待したり、Firebase プロジェクトから既存のテスターを削除したりできます。

    Firebase プロジェクトにテスターを追加した後、そのテスターを個々のリリースに追加できます。削除されたテスターはプロジェクト内のリリースにアクセスできなくなります。最近削除されたテスターは、一定期間リリースへのアクセス権を保持できます。

    例:

    firebase appdistribution:testers:add anothertester@email.com moretesters@email.com
    
    firebase appdistribution:testers:remove anothertester@email.com moretesters@email.com
    

    テスターのメールアドレスはスペースで区切る必要があります。--file /path/to/testers.txt を使用してテスターを指定することもできます。

    テスターの人数が多い場合は、グループの使用を検討してください。appdistribution:group:createappdistribution:group:delete を使用すると、Firebase プロジェクトでグループを作成または削除できます。

    --group-alias を使用して、appdistribution:testers:add コマンドと appdistribution:testers:remove コマンドのグループを指定します。

    例:

    firebase appdistribution:group:create "QA team" qa-team
    
    firebase appdistribution:testers:add --group-alias=qa-team anothertester@email.com moretesters@email.com
    
    firebase appdistribution:testers:remove --group-alias=qa-team anothertester@email.com moretesters@email.com
    
    firebase appdistribution:group:delete qa-team
    

ビルドを配布すると、Firebase コンソールの App Distribution ダッシュボードで 150 日間(5 か月間)利用できます。ビルドが期限切れになる 30 日前に、テストデバイス上のテスターのビルドリストとコンソールの両方に有効期限のお知らせが表示されます。

アプリのテストに招待されていないテスターには、開始するための招待メールが届きます。既存のテスターには、新しいビルドのテスト準備ができていることを知らせるメールが届きます(テストアプリのインストール手順についてはテスターの設定ガイドをご覧ください)。Firebase コンソールで各テスターのステータス(招待を承諾したか、アプリをダウンロードしたか)をモニタリングできます。

招待の有効期間は 30 日です。この期間内にテスターは招待を承諾してアプリのテストを開始できます。招待が期限切れになる 5 日前に、Firebase コンソール内の、リリースのテスターの横に有効期限のお知らせが表示されます。招待状は、テスターの行のプルダウン メニューから再送信して更新できます。

次のステップ