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


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

始める前に

まだ Firebase を Android プロジェクトに追加していない場合は追加します。

他の Firebase プロダクトを使用していない場合は、プロジェクトを作成してアプリを登録するだけでかまいません。ただし、今後追加のプロダクトを使用する場合は、上述のリンク先のページのステップをすべて完了してください。

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

アプリのプレリリース版をテスターに配布する準備ができたら、通常のプロセスに従って APK をビルドします。APK はデバッグ鍵またはアプリ署名鍵を使用して署名する必要があります。

ステップ 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.apk  \
        --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 コンソール内の、リリースのテスターの横に有効期限のお知らせが表示されます。招待状は、テスターの行のプルダウン メニューから再送信して更新できます。

次のステップ