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 の場合、App Distribution にはアプリに追加する 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
    

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

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

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

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

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

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

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

7. 完了

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

次のステップ