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. プロジェクト レベルの設定の Gradle ファイル(android/settings.gradle.kts)で、Google の Maven リポジトリを pluginManagement ブロックに追加します。
     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 タスクを実行して、App Bundle ファイルをビルドします。
    $ ./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. リリースの [ダウンロード] をタップして、Play ストアからインストールします。
  4. メッセージが表示されたら、残りの手順を完了して内部アプリ共有を有効にします(この手順はテストデバイスに表示され、1 回だけ行う必要があります)。

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

7. お疲れさまでした

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

次のステップ