このガイドでは、Firebase CLI を使用して Android App Bundle(AAB)をテスターに配布する方法について説明します。CLI ツールを使用すると、ビルドのテスターとリリースノートを指定し、ビルドを配布できます。
App Distribution は Google Play の内部アプリ共有サービスと統合して、アップロードした AAB を処理し、テスターのデバイス設定用に最適化された APK を提供します。AAB を配布すると、次のことが可能になります。
テスターのデバイス向けに最適化された APK(Google Play が提供)を実行する。
デバイス固有の問題を検出してデバッグする。
Play Feature Delivery や Play 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
|
次のいずれかのロール: | –– |
始める前に
まだ Firebase を Android プロジェクトに追加していない場合は追加します。このワークフローを終了すると、Firebase Android アプリが Firebase プロジェクトに追加されます。
他の Firebase プロダクトを使用していない場合は、プロジェクトを作成してアプリを登録するだけでかまいません。追加のプロダクトを使用する場合は、Android プロジェクトに Firebase を追加するの手順をすべて完了してください。
Google Play への Firebase リンクを作成し、AAB をアップロードするには、アプリが次の要件を満たしていることを確認してください。
Google Play のアプリと Firebase Android アプリが同じパッケージ名で登録されていること。
Google Play のアプリがアプリ ダッシュボードで設定され、いずれかの Google Play トラック(内部テスト、クローズド テスト、オープンテスト、製品版)に配布されていること。
Google Play でアプリの審査が完了し、アプリが公開されていること。[アプリのステータス] 列に、内部テスト(未公開の内部テスト以外)、クローズド テスト、オープンテスト、製品版のいずれかのステータスが表示されている場合、アプリは公開されています。
Firebase Android アプリを Google Play デベロッパー アカウントにリンクします。
Firebase コンソールで、
に移動し、[統合] タブを選択します。 [プロジェクト設定] Google Play カードの [リンク] をクリックします。
すでに Google Play へのリンクがある場合は、[管理] をクリックします。画面上の手順に沿って App Distribution 統合を有効にし、Google Play にリンクする Firebase Android アプリを選択します。
Google Play へのリンクに関する詳細をご覧ください。
ステップ 1. アプリをビルドする
アプリのプレリリース版をテスターに配布する準備ができたら、AAB をビルドします(手順については、Android Studio のドキュメントをご覧ください)。
ステップ 2. テスターにアプリを配布する
テスターにアプリを配布するには、Firebase CLI を使用してアプリのファイルをアップロードします。
- Firebase CLI の最新バージョンをインストールするか、最新バージョンに更新します(ご使用の OS 固有の CLI のスタンドアロン バイナリをダウンロードすることをおすすめします)。ログインして、プロジェクトにアクセスできることを確認してください。
- Firebase コンソールの App Distribution ページで、配布するアプリを選択し、[始める] をクリックします。
-
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:add
とappdistribution: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:create
とappdistribution: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 コンソール内の、リリースのテスターの横に有効期限のお知らせが表示されます。招待状は、テスターの行のプルダウン メニューから再送信して更新できます。
次のステップ
アプリ内フィードバックを実装して、テスターがアプリに関するフィードバック(スクリーンショットを含む)を簡単に送信できるようにする。
アプリの新しいビルドがインストール可能になった場合にテスターにアプリ内アラートを表示する方法を確認する。
CI / CD を使用して QA テスターに Android アプリを配布するためのベスト プラクティスを確認する。