パーソナライズしたコンテンツは、ユーザーにとって魅力的です。ユーザーがアプリを初めて使用するときから、各自の好み、使用履歴、またはロケールに応じたやり取りを提供することができます。Firebase を使用すると、Google アナリティクスの指標に基づいてユーザー層を定義できます。また、Firebase コンソールから直接 Firebase Remote Config を使用して、アプリケーションをカスタマイズできます。
この 2 つの機能を組み合わせて使用することで、リピート ユーザー向けに、アプリの開始画面をユーザーの好み、またはアプリでのアクティビティに基づいてカスタマイズできます。
このガイドでは、Android の再開画面を独自にパーソナライズして作成する手順を説明します。
最初に、Firebase プロジェクトに Android アプリが接続されている必要があります。プロジェクトがまだ用意されていない場合は、Android の開始手順を参照してアプリを接続してください。
実装の概要
アプリの開始画面をパーソナライズして実装するには、主に 3 つの手順を使用します。
- Remote Config を設定し、パーソナライズする要素に対応するパラメータを指定します。 たとえば、開始画面のメッセージをパラメータとして保存できます。これにより、アプリを再公開することなくメッセージを更新できます。
- アナリティクスを設定します。Remote Config のターゲットが目的のユーザーとなるように、ユーザー層またはユーザー プロパティを定義します。 どちらの機能もターゲティングに使用できますが、両者には重要な違いがあります。各機能を比較したそれぞれの利点については、このガイドで後述します。
- Remote Config 条件を構成します。設定したアナリティクスのユーザー層またはユーザー プロパティに基づき、パラメータをカスタマイズします。
Remote Config のパラメータの設定
カスタマイズするアプリの要素を特定できたら、Remote Config を使用してパラメータを保存します。ここからは、開始画面メッセージをパーソナライズする方法について検証します。
Firebase コンソールでの処理
- Firebase コンソールの Remote Config パラメータのページに移動します。アプリで Remote Config を構成するのが初めての場合は、[最初のパラメータを追加] をクリックします。
パラメータキーとデフォルト値を入力します。たとえば、
welcome_message
やWelcome to this sample app
です。[変更を公開] をクリックします。
Android アプリでの処理
Firebase コンソールでアプリに追加したパラメータを読み取り、表示するコードを追加します。次に例を示します。
final FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance(); config.getInstance.fetch(CACHE_EXPIRATION_MS) .addOnCompleteListener(this, new OnCompleteListener<Void>() { @Override public void onComplete(@NonNull Task<Void> task) { if (task.isSuccessful()) { config.activateFetched(); String welcomeMessage = config.getString("welcome_message"); } } });
コンソールで作成したパラメータを読み取り、表示するには、Firebase Remote Config を Android で使用するに記載されている手順に従います。処理方法がわからなくなった場合は、Android チュートリアルで、サンプルアプリの実装方法を確認してください。
デベロッパー モードを有効にすると、テスト中に構成の変更をすぐに確認できます。
動作のテスト
- アプリを開き、Remote Config UI に最新のパラメータ値が表示されていることを確認します。
- コンソールの値を変更し、[変更を公開] をクリックします。
- アプリを再起動します。新しいパラメータ値が表示されるはずです。
アナリティクスのユーザー層またはユーザーのプロパティの設定
この手順では、アナリティクスを使用して、パーソナライズしたコンテンツの対象となるユーザーを定義します。このチュートリアルではユーザーのプロパティを使用しますが、ユーザー層を定義することもできます。どちらの方法も似ていますが、ユーザー層にユーザーを追加すると、このユーザーをユーザー層から外したり削除したりできなくなるので、注意が必要です。ターゲティングに使用する属性が、将来的に変更する可能性があるなら、ユーザー プロパティを使用してください。
Firebase コンソールでの処理
- Firebase コンソールでアナリティクスのユーザー プロパティ ページに移動し、[新しいユーザー プロパティ] をクリックします。
ユーザー プロパティの名前と説明を入力します。たとえば、ユーザーが犬または猫のどちらを好むかに基づいてアプリをカスタマイズしている場合は、
animal_preference
といった名前を設定します。[作成] をクリックします。
Android アプリでの処理
- アプリケーションにユーザー プロパティを設定する方法については、ユーザー プロパティの設定の手順を参照してください。たとえば、ユーザーに猫と犬のどちらを好むかを尋ね、その答えに沿った文字列値を設定します。コンソールでプロパティを登録する手順は、前のセクションですでに行っているので、ここでは省略してもかまいません。
- イベントのデバッグの手順に沿って、アプリのデバッグモードを有効にします。
動作をテストする
- アプリを開き、ユーザー プロパティを設定した場所に移動します。
- Firebase コンソールで、アナリティクスの DebugView ページを開きます。
- ユーザー プロパティが設定されているかどうかを確認します(表示まで数分の遅延が生じることがあります)。
Remote Config 条件の設定
ここまでで、設定可能なパラメータをアプリに追加し、変数として使用するユーザー(またはユーザー層)プロパティを指定しました。次に、パラメータの値をパーソナライズするための条件を作成します。
Firebase コンソールでの処理
- Firebase コンソールの Remote Config に移動します。
- パラメータをクリックして編集します。
- [条件の値を追加] をクリックします。
- [新しい条件を定義] を選択します。
- 条件に名前を付けます。たとえば、以前確認したユーザーの好みを反映して「Prefers cats」といった名前を付けます。
[以下の場合に適用] では [ユーザー プロパティ] を選択し(アナリティクスでユーザー層を作成した場合は [ユーザー層])、パラメータを選択して、パラメータ値との条件関係を定義します。
[条件を作成] をクリックします。
新しい条件を反映する値を入力します。たとえば、「Prefers cats」ユーザーへのウェルカム メッセージを「Meow!」とします。
[更新] をクリックして、変更を保存します。
[変更を公開] をクリックして、新しい条件と値をアプリ内で有効にします。
動作をテストする
- アプリを開き、ユーザー プロパティを設定した場所に移動します。
- Firebase コンソールで、アナリティクスの DebugView ページを開きます。
- ユーザー プロパティが設定されているかどうかを確認します(表示まで数分の遅延が生じることがあります)。
- アプリを再起動し、パーソナライズした要素が設定されていることを確認します。