Firebase App DistributionAndroidSDKを使用して新しいアプリのリリースについてテスターに​​警告する-Codelab

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

1。概要

c7a9160ef7b184c7.png22e0b52f771c060d.png

Android アプリ Codelab への Firebase App Distribution SDK の統合へようこそ。この Codelab では、App Distribution Android SDK をアプリに追加して、新しいビルドがダウンロード可能になったときにテスターに​​アプリ内アラートを表示します。基本構成とカスタム構成の両方を使用して、テスターがサインインして更新を受け取る方法を学習します。次に、新しいリリースを App Distribution にプッシュし、アプリ内で新しいビルド アラートをトリガーします。

学習内容

  • App Distribution を使用してプレリリース アプリをテスターに​​配布する方法
  • App Distribution Android SDK をアプリに統合する方法
  • インストールの準備ができた新しいプレリリース ビルドがあるときにテスターに​​警告する方法
  • テストのニーズに合わせて SDK をカスタマイズする方法

必要なもの

  • Android Studio バージョン 3.4 以降。
  • サンプルコード。
  • Android 2.3+ および Google Play サービス 9.8 以降を搭載したテスト デバイス、または Google Play サービス 9.8 以降を搭載したエミュレータ。
  • デバイスを使用する場合は、接続ケーブル。

このチュートリアルをどのように使用しますか?

そこだけ読み通すそれを読んで演習を完了してください

Android アプリの構築に関するあなたの経験をどのように評価しますか?

初心者中級熟練した

2. サンプルコードを入手する

コマンド ラインから GitHub リポジトリのクローンを作成します。

$ git clone https://github.com/FirebaseExtended/codelab-appdistribution-android.git

git がインストールされていない場合は、GitHub ページから、またはこのリンクをクリックして、サンプル プロジェクトをダウンロードすることもできます。

3. スターター アプリをインポートする

Android Studio から、 codelab-appdistribution-android/startディレクトリ ( android_studio_folder.png ) サンプル コードのダウンロードから ( [ファイル] > [開く] > [.../codelab-appdistribution-android/start])。

これで、Android Studio で開始プロジェクトが開いているはずです。

4.Firebase コンソール プロジェクトを作成する

新しい Firebase プロジェクトを追加する

  1. Firebase コンソールを開きます。
  2. [プロジェクトを追加] を選択し、プロジェクトに「Firebase Codelab」という名前を付けます。

このプロジェクトで Google アナリティクスを有効にする必要はありません。

  1. [プロジェクトを作成] をクリックします。

アプリを Firebase に追加する

アプリを Firebase に登録します。パッケージ名として「com.google.firebase.appdistributioncodelab」を使用します。

アプリに google-services.json ファイルを追加する

パッケージ名を追加して [登録] を選択したら、次の手順に従って google-services.json をアプリに追加します。

  1. [ google-services.json をダウンロード] をクリックして、Firebase Android 構成ファイルを取得します。
  2. google-services.json ファイルをプロジェクトのappディレクトリにコピーします。
  3. ファイルがダウンロードされたら、コンソールに表示される次の手順をスキップできます (build-android-start プロジェクトで既に実行されています)。

Firebase アプリと一致するようにアプリケーション ID を更新します

  1. 左側のメニュー ([プロジェクト] タブ) で、[Android] ビューにいることを確認し、[Gradle スクリプト] タブを見つけて、モジュール (アプリ レベル) の Gradle ファイル (通常はapp/build.gradle ) を開きます。
  2. Firebase アプリのアプリケーション ID と一致するようにapplicationIdプロパティを変更します。これは「com.google.firebase.appdistributioncodelab」である必要があります

プロジェクトを Gradle ファイルと同期する

アプリですべての依存関係を利用できるようにするには、Android Studio ツールバーから [ファイル] > [プロジェクトを Gradle ファイルと同期] を選択して、プロジェクトを Gradle ファイルと同期します。

5. App Distribution Android SDK を使用してアプリ内の新しいビルド アラートを設定する

このステップでは、Firebase App Distribution Android SDK をアプリに追加し、アプリの新しいビルドをインストールできるようになったときにアプリ内アラートをテスターに​​表示します。これを行うには、「Firebase Codelab」プロジェクトに対してFirebase App Testers APIが有効になっていることを確認してください (Google Cloud Console で)。同じアカウントでサインインし、上部のドロップダウン メニューから正しいプロジェクトを選択する必要があります。

アプリ内アラートを構成する

App Distribution Android SDK には、テスター向けにアプリ内ビルド アラートを設定する 2 つの方法が用意されています。

  • テスターに​​表示する事前構築済みのダイアログが付属する基本的なアラート構成。
  • ユーザー インターフェイス (UI) をカスタマイズできる高度なアラート構成。

基本的なアラート構成から始めます。 updateIfNewReleaseAvailableを使用して、アラートをまだ有効にしていないテスターに​​、ビルド済みのアラートを有効にするダイアログを表示し、新しいビルドが利用可能かどうかを確認できます。テスターは、App Distribution でアプリにアクセスできるアカウントにサインインして、アラートを有効にします。呼び出されると、メソッドは次のシーケンスを実行します。

  1. テスターがアラートを有効にしているかどうかを確認します。そうでない場合、このメソッドは、テスターに​​ Google アカウントで App Distribution にサインインするよう求める事前作成済みのダイアログを表示します。

アラートの有効化は、テスト デバイスでの 1 回限りのプロセスであり、アプリの更新後も持続します。アプリがアンインストールされるか、 signOutTesterメソッドが呼び出されるまで、アラートはテスト デバイスで有効なままになります。

  1. テスターがインストールするために新しく利用可能なビルドをチェックします。
  2. テスターに​​最新のリリースをダウンロードするよう促す、事前に作成されたアラートを表示します。
  3. 更新を続行する前に、新しいビルド タイプを確認します。
  4. 新しいビルドが App Bundle (AAB) の場合、テスターを Play ストアにリダイレクトして更新プロセスを完了します。
  5. 新しいビルドが APK の場合、SDK は新しいビルドをバックグラウンドでダウンロードし、ダウンロードが完了するとテスターに​​新しいビルドをインストールするように求めます。 SDK は、 NotificationManager. onProgressUpdateハンドラーをupdateIfNewReleaseAvailableタスクにアタッチすることで、独自の進行状況インジケーターを追加できます。

アプリの任意の時点でupdateIfNewReleaseAvailable()を呼び出すことができます。たとえば、MainActivity のonResume()メソッド中に updateIfNewReleaseAvailable updateIfNewReleaseAvailable()を呼び出すことができます。

MainActivity.ktを開き、次のようにonResume()メソッドを作成します。

MainActivity.kt

override fun onResume() {
    super.onResume()
    checkForUpdate()
}

それでは、 checkForUpdate()メソッドを実装しましょう。

MainActivity.kt

   private fun checkForUpdate() {
        firebaseAppDistribution.updateIfNewReleaseAvailable()
            .addOnProgressListener { updateProgress ->
                // (Optional) Implement custom progress updates in addition to
                // automatic NotificationManager updates.
            }
            .addOnFailureListener { e ->
                if (e is FirebaseAppDistributionException) {
                    // Handle exception.
                }
            }
    }

6. テスターをビルドして招待し、アプリをダウンロードしてもらいます

このステップでは、アプリをビルドし、Firebase コンソールを使用してテスターに​​ビルドを配布して実装をテストします。

アプリをビルドする

アプリのプレリリース バージョンをテスターに​​配布する準備ができたら、通常のプロセスを使用して APK をビルドします。デバッグ キーまたはアプリ署名キーを使用して APK に署名する必要があります。

アプリをテスターに​​配布する

アプリをテスターに​​配布するには、Firebase コンソールを使用して APK ファイルをアップロードします。

  1. Firebase コンソールのApp Distribution ページを開きます。プロンプトが表示されたら、Firebase プロジェクトを選択します。
  2. [リリース] ページで、配布するアプリをドロップダウン メニューから選択します。

623460c3c8a82ce6.png

  1. [開始する] をクリックします

bf503b25066ff4a4.png

  1. アプリの APK ファイルをコンソールにドラッグしてアップロードします。
  2. アップロードが完了したら、ビルドを受け取るテスター グループと個々のテスターを指定します。 (招待を受け取るためにメールを追加してください。) 次に、ビルドのリリース ノートを追加します。テスター グループの作成の詳細については、「テスターの追加と削除」を参照してください。

3343048f0930e84b.png

  1. [配布]をクリックして、テスターがビルドを利用できるようにします。

2be58fe195928bf9.png

Firebase コンソールで、アプリのリリースの下に追加したテスターを確認できるようになりました。

9935a41810344c61.png

メール アドレスを入力したので、Firebase App Distribution から、アプリをテストするよう招待するメールが届きます。あなたが最初のテスターです! 「招待を受け入れる」の手順に従って、テスト デバイスでテスターとして設定します。

招待を受け入れる

リリースをダウンロードしてテストするには、まず招待を受け入れる必要があります。

  1. Android テスト デバイスで、Firebase App Distribution から送信されたメールを開き、[開始する] をタップします。
  2. 表示されるFirebase App Distributionテスター Web アプリで、Google アカウントでサインインし、[招待を受け入れる] をタップします。テストに招待されたリリースを確認できるようになりました。

c18cb684f8e82ad6.png

テスト デバイスからリリースをダウンロードする

AppDistribution Codelab アプリに移動すると、リリースをダウンロードする準備ができていることがわかります。

5414d9a536f25ece.png

  1. [ダウンロード] をタップし、アプリをインストールして実行します。
  2. アプリが起動すると、新しいビルド アラートを有効にするよう求められます。 [オンにする] をタップます。

b059e09acaa4779f.png

  1. テスター アカウントでサインインします。

22e0b52f771c060d.png

アプリに戻ります。次回アプリを実行するときは、サインインしたりアラートを受け入れたりする必要はありません

c9f33df16a2680d.png

テスターに​​更新を配布する

  1. モジュール (アプリ レベル) の Gradle ファイル (通常は app/build.gradle) で、versionName を「1.1」に、versionCode を 2 に更新します。
  2. 通常のプロセスを使用して APK をビルドします。デバッグ キーまたはアプリ署名キーを使用して APK に署名する必要があります。
  3. この新しい APK を Firebase コンソールにアップロードし、メールをテスターとして再度追加して、 [配布] をクリックします。

2dfa702edfdce6b8.png

ビルド アラートのテスト

  1. アプリが開いている場合は、必ず閉じてください。
  2. アプリを再起動します。
  3. アプリが再起動すると、利用可能な新しいバージョンのアラートが表示されます。

987e3d0ba4e56f84.png

  1. 最新バージョンを受け取るには、[更新] をクリックします。
  2. プロンプトが表示されたら、不明なソースからのインストールを有効にするオプションを選択します。
  3. 次の画面で [インストール] (または [更新] ) をクリックします。

a7c7cd15d60bc764.png

  1. おめでとう!組み込みのアラートを使用してアプリを更新できました。

7.テスターのサインインをカスタマイズする

メソッドsignInTester/signOutTesterおよびisTesterSignedInを使用すると、テスターのサインイン エクスペリエンスをより柔軟にカスタマイズできるため、アプリのルック アンド フィールにより適合させることができます。

次の例では、テスターが Firebase App Distribution テスター アカウントに既にサインインしているかどうかを確認するため、まだサインインしていないテスターに​​のみサインイン UI を表示することを選択できます。テスターがサインインしたら、次のことができます。 checkForUpdateを呼び出して、テスターが新しいビルドにアクセスできるかどうかを確認します。

checkForUpdate()呼び出しをコメントアウトして、 onResumeで更新の自動チェックを無効にしましょう。

MainActivity.kt

override fun onResume() {
        super.onResume()
        //checkForupdate()
    }

代わりに、updatebutton の OnClickListener にcheckForUpdate()が既に追加されています。

次に、ユーザーがサインアウトしている場合はサインインし、既にサインインしている場合はサインアウトするsignIn()メソッドを実装しましょう。

MainActivity.kt

    private fun signIn() {
        if (isTesterSignedIn()) {
            firebaseAppDistribution.signOutTester()
            configureUpdateButton()
            configureSigninButton()
        } else {
            firebaseAppDistribution.signInTester()
        }
    }

最後にisTesterSignedInメソッドを実装しましょう。

MainActivity.kt

    private fun isTesterSignedIn() : Boolean {
        return firebaseAppDistribution.isTesterSignedIn
    }

実装をビルドしてテストする

8.おめでとう!

Firebase App Distribution Android SDK を使用して、「アプリ内アラート表示」機能をアプリに組み込みました。

カバーした内容

  • Firebase アプリの配布
  • Firebase アプリの配布 新しいアラート Android SDK

次のステップ

もっと詳しく知る

質問があります?

問題を報告する