1。概要
Android アプリのコードラボへの Firebase App Distribution SDK の統合へようこそ。このコードラボでは、新しいビルドがダウンロード可能になったときにテスターにアプリ内アラートを表示するために、App Distribution Android SDK をアプリに追加します。基本構成とカスタム構成の両方を使用して、テスターにサインインして更新を受信させる方法を学習します。次に、新しいリリースを App Distribution にプッシュし、アプリ内で新しいビルド アラートをトリガーします。
学べること
- App Distribution を使用してプレリリース アプリをテスターに配布する方法
- App Distribution Android SDK をアプリに統合する方法
- 新しいプレリリース ビルドをインストールする準備ができたときにテスターに警告する方法
- テストのニーズに合わせて SDK をカスタマイズする方法
必要なもの
- 最新のAndroid Studioバージョン。
- サンプルコード。
- Android 4.4 以降および 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
ディレクトリ ( ) サンプル コードをダウンロードします ( [ファイル] > [開く] > [.../codelab-appdistribution-android/start])。
これで、Android Studio で開始プロジェクトが開いたはずです。
4. Firebase コンソール プロジェクトを作成する
新しい Firebase プロジェクトを追加する
- Firebase コンソールを開きます。
- [プロジェクトの追加]を選択し、プロジェクトに「Firebase Codelab」という名前を付けます。
このプロジェクトに対して Google Analytics を有効にする必要はありません。
- 「プロジェクトの作成」をクリックします。
Firebase にアプリを追加する
アプリを Firebase に登録します。パッケージ名として「com.google.firebase.appdistributioncodelab」を使用します。
google-services.json ファイルをアプリに追加します
パッケージ名を追加して [登録] を選択した後、次の手順に従って google-services.json をアプリに追加します。
- [Download google-services.json]をクリックして、Firebase Android 構成ファイルを取得します。
- google-services.json ファイルをプロジェクトの
app
ディレクトリにコピーします。 - ファイルがダウンロードされたら、コンソールに表示される次の手順をスキップできます (これらの手順は build-android-start プロジェクトですでに行われています)。
Firebase アプリと一致するようにアプリケーション ID を更新します
- 左側のメニュー (プロジェクト タブ) で、「Android」ビューにいることを確認し、「Gradle スクリプト」タブを見つけて、モジュール (アプリレベル) Gradle ファイル (通常は
app/build.gradle.kts
) を開きます。 - Firebase アプリのアプリケーション ID と一致するように
applicationId
プロパティを変更します。これは「com.google.firebase.appdistributioncodelab」である必要があります。
プロジェクトを Gradle ファイルと同期する
すべての依存関係をアプリで利用できるようにするには、Android Studio ツールバーから[ファイル] > [プロジェクトを Gradle ファイルと同期] を選択して、プロジェクトを Gradle ファイルと同期します。
5. App Distribution Android SDK を使用してアプリ内の新しいビルド アラートを設定する
このステップでは、Firebase App Distribution Android SDK をアプリに追加し、アプリの新しいビルドがインストール可能になったときにテスターにアプリ内アラートを表示します。これを行うには、(Google Cloud Console で) 「Firebase Codelab」プロジェクトに対してFirebase App Testers API が有効になっていることを確認してください。同じアカウントでサインインし、上部のドロップダウン メニューから正しいプロジェクトを選択する必要があります。
アプリ内アラートを構成する
App Distribution Android SDK では、テスター向けにアプリ内ビルド アラートを設定する 2 つの方法が提供されています。
- 基本的なアラート構成。テスターに表示する事前構築されたダイアログが付属しています。
- 高度なアラート構成。ユーザー インターフェイス (UI) をカスタマイズできます。
基本的なアラート構成から始めます。 updateIfNewReleaseAvailable
を使用すると、アラートをまだ有効にしていないテスターに事前に構築されたアラートの有効化ダイアログを表示し、新しいビルドが利用可能かどうかを確認できます。テスターは、App Distribution のアプリにアクセスできるアカウントにサインインして、アラートを有効にします。呼び出されると、メソッドは次のシーケンスを実行します。
- テスターがアラートを有効にしたかどうかを確認します。そうでない場合、このメソッドは、テスターに Google アカウントを使用して App Distribution にサインインするよう求める事前構築されたダイアログを表示します。
アラートの有効化は、テスト デバイス上で 1 回限りのプロセスであり、アプリの更新後も継続されます。アプリがアンインストールされるか、 signOutTester
メソッドが呼び出されるまで、テスト デバイス上でアラートは有効なままになります。
- テスターがインストールできる新しく利用可能なビルドを確認します。
- テスターに最新リリースをダウンロードするよう促す、事前に作成されたアラートを表示します。
- 更新を続行する前に、新しいビルド タイプを確認します。
- 新しいビルドが App Bundle (AAB) の場合、テスターは Play ストアにリダイレクトされ、更新プロセスを完了します。
- 新しいビルドが APK の場合、SDK は新しいビルドをバックグラウンドでダウンロードし、ダウンロードが完了するとテスターに新しいビルドをインストールするように求めます。 SDK は、
NotificationManager.
onProgressUpdate
ハンドラーをupdateIfNewReleaseAvailable
タスクにアタッチすることで、独自の進行状況インジケーターを追加できます。
アプリ内の任意の時点でupdateIfNewReleaseAvailable()
を呼び出すことができます。たとえば、MainActivity のonResume()
メソッド中に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 ファイルをアップロードします。
- Firebase コンソールの[アプリ配布] ページを開きます。プロンプトが表示されたら、Firebase プロジェクトを選択します。
- [リリース] ページで、配布するアプリをドロップダウン メニューから選択します。
- 「始める」をクリックします
- アプリの APK ファイルをコンソールにドラッグしてアップロードします。
- アップロードが完了したら、ビルドを受け取りたいテスター グループと個々のテスターを指定します。 (招待を受信するには電子メールを追加してください。) 次に、ビルドのリリース ノートを追加します。テスター グループの作成の詳細については、 「テスターの追加と削除」を参照してください。
- [配布]をクリックして、テスターがビルドを利用できるようにします。
Firebase コンソールで、アプリのリリース時に追加したテスターが表示されるようになりました。
メール アドレスを入力したため、Firebase App Distribution からアプリのテストを招待するメールが届きます。これであなたが最初のテスターです! 「招待を承諾する」の手順に従って、テスト デバイスでテスターとして設定します。
招待を承諾する
まず、リリースをダウンロードしてテストするための招待を受け入れる必要があります。
- Android テスト デバイスで、Firebase App Distribution から送信されたメールを開き、 「開始する」をタップします。
- 表示されるFirebase App Distributionテスター ウェブ アプリで、Google アカウントでサインインし、 [招待を受け入れる] をタップします。これで、テストに招待されたリリースが表示されます。
テストデバイスからリリースをダウンロードする
AppDistribution コードラボ アプリに移動すると、リリースをダウンロードする準備ができていることがわかります。
- [ダウンロード]をタップし、アプリをインストールして実行します。
- アプリが起動すると、新しいビルドのアラートを有効にするかどうかを尋ねられます。 「オン」をタップします。
- テスター アカウントでサインインします。
アプリに戻ります。次回アプリを実行するときは、サインインしたり、アラートを受け入れたりする必要はありません
テスターにアップデートを配布する
- モジュール (アプリレベル) Gradle ファイル (通常は app/build.gradle) で、versionName を「1.1」に、versionCode を 2 に更新します。
- 通常のプロセスを使用して APK をビルドします。デバッグ キーまたはアプリ署名キーを使用して APK に署名する必要があります。
- この新しい APK を Firebase コンソールにアップロードし、テスターとしてメールを再度追加して、 [配布]をクリックします。
テストビルドのアラート
- アプリが開いている場合は、必ず閉じてください。
- アプリを再起動します。
- アプリが再起動すると、「新しいバージョンが利用可能」というアラートが表示されます。
- 最新バージョンを入手するには、 「更新」をクリックします。
- プロンプトが表示されたら、不明なソースからのインストールを有効にするオプションを選択します。
- 次の画面で[インストール] (または[更新]) をクリックします。
- おめでとう!組み込みのアラートを使用してアプリを更新できました。
7. テスターのサインインをカスタマイズする
SignInTester/signOutTesterメソッドとisTesterSignedInメソッドを使用すると、テスターのサインイン エクスペリエンスをより柔軟にカスタマイズできるため、アプリのルック アンド フィールとよりよく一致させることができます。
次の例では、テスターがすでに Firebase App Distribution テスター アカウントにサインインしているかどうかを確認するため、まだサインインしていないテスターに対してのみサインイン UI を表示するように選択できます。テスターがサインインした後は、 checkForUpdateを呼び出して、テスターが新しいビルドにアクセスできるかどうかを確認します。
checkForUpdate()呼び出しをコメントアウトして、 onResumeでの更新の自動チェックを無効にしましょう。
MainActivity.kt
override fun onResume() {
super.onResume()
//checkForupdate()
}
代わりに、 checkForUpdate() がupdatebutton の OnClickListener にすでに追加されています。
次に、ユーザーがサインアウトしている場合はサインインし、既にサインインしている場合はサインアウトする、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
次のステップ
もっと詳しく知る
質問があります?
問題を報告する