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 にリンクします。

これで Google Play デベロッパー アカウントのアプリに Firebase アプリがリンクされ、パッケージ名が一致します。

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 をアップロードし、テスターにリリースを配布しました。

次のステップ