App Bundle のリリースをテスターに配布する - Codelab

1. 概要

image10.png

この Codelab では、Firebase App Distribution とその Gradle プラグインを使用して Android App Bundle リリースをテスターに配布する方法について説明します。App Distribution は、アプリのプレリリース版と、各リリースに招待するテスターを管理するための一元化されたハブです。

学習内容

  • Firebase アプリを Google Play にリンクする方法
  • アプリを App Bundle としてパッケージ化してビルドする方法
  • リリースを作成し、ライブテスターと共有する方法
  • テスターとして新しいリリースをダウンロードしてテストする方法

必要なもの

  • 最新の Android Studio バージョン
  • Android Studio で生成した署名付きバンドル ファイル
  • オーナーまたは管理者である Google Play デベロッパー アカウント
  • Google Play のアプリがGoogle Play アプリ ダッシュボードで設定され、次のステータスであること。
    • アプリがいずれかの Google Play トラック(内部テスト、クローズド テスト、オープンテスト、製品版)に配布されていること。
    • Google Play でアプリの審査が完了し、アプリが公開されている。[アプリのステータス] 列に、内部テスト(未公開の内部テスト以外)、クローズド テスト、オープンテスト、製品版のいずれかのステータスが表示されている場合、アプリは公開されています。
  • テスターとして Firebase から新しいビルドの招待状を受け取るために使用できるメールアドレス

2. Firebase プロジェクトを作成する

  1. Firebase にログインします。
  2. Firebase コンソールで [プロジェクトを追加] をクリックし、プロジェクトに「AppBundlesCodelab」という名前を付けます。Firebase プロジェクトのプロジェクト ID を覚えておいてください。プロジェクト ID を編集しない場合、プロジェクトの一意の ID が自動的に割り当てられます。

    image8.png
  3. (省略可)プロンプトが表示されたら、Google アナリティクスを有効にします。
  4. 残りの手順を完了し、[プロジェクトを作成] をクリックします。

プロジェクトに App Bundle を追加する

  1. Firebase コンソールで [アプリを追加] をクリックします。

    image5.png
  2. アプリを登録する際は、Google Play デベロッパー アカウントにアップロードしたアプリと同じパッケージ名を使用してください。 最後に、[アプリを登録] をクリックします。
  3. 残りの手順を完了して、アプリの Firebase 構成ファイル(google-services.json)をアプリに追加します。Android の場合、アプリ ディストリビューションにはアプリに追加する Firebase SDK がありません。
  4. [コンソールに進む] をクリックします。
  1. Firebase コンソールで、[プロジェクトの設定] に移動します。

    image2.png
  2. [統合] タブで、[Google Play] カードの [リンク] をクリックします。
  3. 画面上の手順に沿って App Distribution 統合を有効にし、新しく作成した Firebase アプリを選択して Google Play にリンクします。

これらの手順を完了すると、アプリのパッケージ名が一致していれば、Firebase アプリが Google Play デベロッパー アカウントのアプリにリンクされます。

3. プロジェクトに App Distribution を追加する

App Distribution Gradle プラグインを追加する

次に、Android Studio を使用して、App Distribution とその Gradle プラグインをアプリに追加します。

  1. プロジェクト レベルの Gradle ファイル(android/build.gradle.kts)で、App Distribution Gradle プラグインを plugins ブロックに追加します。
    plugins {
         //...
    
         // Add the App Distribution Gradle plugin
         id("com.google.firebase.appdistribution") version "4.0.0" apply false
    }
    
  2. プロジェクト レベルの Settings Gradle ファイル(android/settings.gradle.kts)で、pluginManagement ブロックに Google の Maven リポジトリを追加します。
     pluginManagement {
         // Check that you have Google's Maven repository (if not, add it).
         repositories {
             google()
             mavenCentral()
         }
     }
    
  3. アプリレベルの Gradle ファイル(android/app/build.gradle.kts)で、App Distribution プラグインを plugins ブロックに追加します。
    plugins {
         //...
    
         // Add the App Distribution plugin
         id("com.google.firebase.appdistribution")
    }
    
  4. 企業のプロキシまたはファイアウォールの背後にいる場合は、App Distribution が配布を Firebase にアップロードできるように、次の Java システム プロパティを追加します。
    -Djavax.net.ssl.trustStore=/path/to/truststore -Djavax.net.ssl.trustStorePassword=password
    

Firebase プロジェクトを認証する

Gradle プラグインを使用する前に、Firebase プロジェクトを認証する必要があります。この Codelab では、Firebase CLI を使用して Google アカウントにログインします。

Android プロジェクトのルートで次のコマンドを実行します。

~/your-android-project$ firebase login

詳しくは、リファレンス ドキュメントをご覧ください。

4. Android Studio でバンドル プロパティを構成する

このステップでは、後で配布するビルドのテスターとして自分自身を追加します。ビルドを配布すると、テスターには Firebase から新しいビルドのテストへの招待メールが届きます。

app/build.gradle.ktsfirebaseAppDistribution セクションを追加し、次のパラメータを含めます。

  • appID: アプリの Firebase アプリ ID。プロジェクト設定の [全般] タブで確認できます。
  • artifactType: アプリのファイル形式(AAB)。
  • testers: テスターのメールアドレス。この Codelab では、ビルドが配布されたらテストできるように、自分のメールアドレスを追加します。

例:

    android {

       // ...

       buildTypes {
            getByName("release") {
                firebaseAppDistribution {
                  appId = "yourAppId"
                  artifactType = "AAB"
                  testers = "ali@example.com, bri@example.com, cal@example.com"
                }
            }
        }

        // ...
    }

必要に応じて、コマンドライン引数を -PappDistribution-property-name=property-value の形式で渡して、build.gradle.kts に設定された値をオーバーライドすることもできます。

5. リリースをビルドして配布する

  1. bundleVariant Gradle タスクを実行して、アプリバンドル ファイルをビルドします。
    $ ./gradlew :base:bundleRelease
    
  2. アプリのビルド ディレクトリ(デフォルトの場所は app/build/outputs/bundle/release)でバンドルを見つけます。
  3. リリースを配布するには、プロジェクトの Gradle ラッパーを使用してターゲット bundleReleaseappDistributionUploadRelease をビルドします。Firebase トークン(ステップ 3: アプリに App Distribution を追加するで取得したもの)を含めます。
    export FIREBASE_TOKEN=your_firebase_token
    
    ./gradlew --stop // Only needed for environment variable changes
    
    ./gradlew bundleRelease appDistributionUploadRelease
    

テスターには、ビルドのダウンロードとテストを案内する招待メールが届きます。デベロッパーは、アプリ配信ダッシュボードの [リリース] タブでビルドをモニタリングできるようになりました。

6. リリースをダウンロードしてテストする

このセクションでは、配信したリリースをダウンロードできるようにテスターとして設定します。テスターは、テストデバイスを認証し、Google Play ストア アプリで内部アプリ共有を有効にする必要があります。

  1. テストデバイスでテスターのメール アカウントにログインし、Firebase からの招待を開きます。

    image6.png
  2. Google アカウントでログインし、招待を受け入れて、配布リリースをテストします。必要に応じて、Firebase App Tester をダウンロードすることもできます。これにより、ダウンロードしたリリースがデバイスの Downloads フォルダに追加されなくなります。また、ダウンロードの進行状況やリリース バージョンなど、リリースに関する追加情報も表示されます。

    image9.png
  3. リリースの [ダウンロード] をタップして、Play ストアからインストールします。
  4. プロンプトが表示されたら、残りの手順を完了して内部アプリ共有を有効にします(手順はテストデバイスに表示され、1 回だけ行う必要があります)。

ダウンロードが完了すると、リリースがデバイスのホーム画面にショートカットとして自動的に表示されます。

7. 完了

Firebase App Distribution を使用して App Bundle をアップロードし、テスターにリリースを配布しました。

次のステップ