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. 企業のプロキシやファイアウォールの背後にいる場合は、次の Java システム プロパティを追加して、App Distribution がディストリビューションを Firebase にアップロードできるようにします。
    -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. リリースの [ダウンロード] をタップし、Google Play ストアからリリースをインストールします。
  4. メッセージが表示されたら、内部アプリ共有を有効にする残りの手順を完了します(手順はテストデバイスに表示され、1 回だけ実行する必要があります)。

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

7. お疲れさまでした

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

次のステップ