1。概要
AndroidアプリコードラボへのFirebaseAppDistributionSDKの統合へようこそ。このコードラボでは、App Distribution Android SDKをアプリに追加して、新しいビルドがダウンロード可能になったときにテスターにアプリ内アラートを表示します。基本構成とカスタム構成の両方を使用して、テスターをサインインさせて更新を受信する方法を学習します。次に、新しいリリースをApp Distributionにプッシュし、アプリで新しいビルドアラートをトリガーします。
あなたが学ぶこと
- アプリ配布を使用してプレリリースアプリをテスターに配布する方法
- App DistributionAndroidSDKをアプリに統合する方法
- インストールの準備ができている新しいプレリリースビルドがある場合にテスターに警告する方法
- テストのニーズに合わせてSDKをカスタマイズする方法
必要なもの
- AndroidStudioバージョン3.4以降。
- サンプルコード。
- Android2.3以降およびGooglePlayサービス9.8以降を搭載したテストデバイス、またはGooglePlayサービス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)。
これで、AndroidStudioで開始プロジェクトを開く必要があります。
4.Firebaseコンソールプロジェクトを作成します
新しいFirebaseプロジェクトを追加する
- Firebaseコンソールを開きます。
- [プロジェクトの追加]を選択し、プロジェクトに「FirebaseCodelab」という名前を付けます。
このプロジェクトでGoogleAnalyticsを有効にする必要はありません。
- [プロジェクトの作成]をクリックします。
Firebaseにアプリを追加する
アプリをFirebaseに登録します。パッケージ名として「com.google.firebase.appdistributioncodelab」を使用します。
google-services.jsonファイルをアプリに追加します
パッケージ名を追加して[登録]を選択したら、次の手順に従ってgoogle-services.jsonをアプリに追加します。
- [ Google-services.jsonのダウンロード]をクリックして、FirebaseAndroid構成ファイルを取得します。
- google-services.jsonファイルをプロジェクトの
app
ディレクトリにコピーします。 - ファイルがダウンロードされたら、コンソールに表示される次の手順をスキップできます(build-android-startプロジェクトですでに実行されています)。
Firebaseアプリに一致するようにアプリケーションIDを更新します
- 左側のメニュー([プロジェクト]タブ)で、[Android]ビューが表示されていることを確認し、[Gradle Scripts]タブを見つけて、モジュール(アプリレベル)のGradleファイル(通常は
app/build.gradle
)を開きます。 -
applicationId
IDプロパティを変更して、FirebaseアプリのアプリケーションIDと一致させます。これは「com.google.firebase.appdistributioncodelab」である必要があります
プロジェクトをGradleファイルと同期する
アプリですべての依存関係を利用できるようにするには、AndroidStudioツールバーから[ファイル] >[プロジェクトをGradleファイルと同期]を選択して、プロジェクトをGradleファイルと同期します。
5. App DistributionAndroidSDKを使用してアプリ内の新しいビルドアラートを設定します
この手順では、Firebase App Distribution Android SDKをアプリに追加し、アプリの新しいビルドがインストール可能になったときにテスターにアプリ内アラートを表示します。これを行うには、「FirebaseCodelab」プロジェクト(Google Cloud Console内)でFirebase AppTestersAPIが有効になっていることを確認してください。同じアカウントでサインインし、上部のドロップダウンメニューから正しいプロジェクトを選択する必要があります。
アプリ内アラートを構成する
App Distribution Android SDKには、テスター向けのアプリ内ビルドアラートを設定する2つの方法があります。
- テスターに表示するための事前に作成されたダイアログが付属する基本的なアラート構成。
- ユーザーインターフェイス(UI)をカスタマイズできる高度なアラート構成。
基本的なアラート構成から始めます。 updateIfNewReleaseAvailable
を使用して、アラートをまだ有効にしていないテスターにビルド済みのアラートの有効化ダイアログを表示し、新しいビルドが利用可能かどうかを確認できます。テスターは、AppDistributionのアプリにアクセスできるアカウントにサインインすることでアラートを有効にします。呼び出されると、メソッドは次のシーケンスを実行します。
- テスターがアラートを有効にしているかどうかを確認します。そうでない場合、このメソッドは、テスターにGoogleアカウントでAppDistributionにサインインするように求めるビルド済みのダイアログを表示します。
アラートの有効化は、アプリの更新後も持続するテストデバイスでの1回限りのプロセスです。アプリがアンインストールされるか、 signOutTester
メソッドが呼び出されるまで、アラートはテストデバイスで有効のままになります。
- テスターがインストールするために新しく利用可能なビルドをチェックします。
- テスターに最新リリースのダウンロードを促す事前作成済みのアラートを表示します。
- 更新を続行する前に、新しいビルドタイプを確認します。
- 新しいビルドがAppBundle(AAB)の場合、テスターをPlayストアにリダイレクトして更新プロセスを完了します。
- 新しいビルドが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ファイルをアップロードします。
- Firebaseコンソールの[アプリの配布]ページを開きます。プロンプトが表示されたら、Firebaseプロジェクトを選択します。
- [リリース]ページで、ドロップダウンメニューから配布するアプリを選択します。
- [開始]をクリックします
- アプリのAPKファイルをコンソールにドラッグしてアップロードします。
- アップロードが完了したら、ビルドを受け取るテスターグループと個々のテスターを指定します。 (招待状を受け取るために電子メールを追加します。)次に、ビルドのリリースノートを追加します。テスターグループの作成の詳細については、「テスターの追加と削除」を参照してください。
- テスターがビルドを利用できるようにするには、[配布]をクリックします。
Firebaseコンソールで、アプリのリリースで追加したテスターを確認できるようになりました。
メールアドレスを含めると、FirebaseAppDistributionからアプリのテストを招待するメールが届きます。あなたは今、最初のテスターです!招待を受け入れるの手順に従って、テストデバイスでテスターとして設定します。
招待を受け入れる
リリースをダウンロードしてテストするには、最初に招待を受け入れる必要があります。
- Androidテストデバイスで、Firebase App Distributionから送信されたメールを開き、[はじめに]をタップします。
- 表示されるFirebaseAppDistributionテスターのウェブアプリで、Googleアカウントでログインし、[招待を受け入れる]をタップします。これで、テストに招待されたリリースを確認できます。
テストデバイスからリリースをダウンロードします
AppDistribution codelabアプリに移動すると、リリースをダウンロードする準備ができていることがわかります。
- [ダウンロード]をタップしてから、アプリをインストールして実行します。
- アプリが起動すると、新しいビルドアラートを有効にするように求められます。 [オンにする]をタップします。
- テスターアカウントでサインインします。
アプリに戻ります。次回アプリを実行するときに、ログインしたりアラートを受け入れたりする必要はありません
テスターに更新を配布する
- モジュール(アプリレベル)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アプリの配布新しいアラートAndroidSDK
次のステップ
もっと詳しく知る
質問があります?
問題を報告する