Remote Config でできること

アプリ デベロッパーは、独自の要件に合わせて Remote Config をさまざまな方法で使用しています。Google でも、このような使い方をおすすめしています。このコースでは、 Remote Configでできること このページでは、一般的な 特定する必要があります

パーセンテージ ロールアウトで新機能をリリースする

Remote Config を使用してパーセンテージ ロールアウトを行い、新しい機能を段階的に公開していくことができます。このユースケースでは、新しい Remote Config を使用して有効または無効にする検索機能 先ほど説明した new_search_feature_flag というパラメータがあり、 全ユーザーの 10% が対象になります

そのためには、new_search_feature_flag パラメータを編集して新しい条件を追加し、[ユーザー(ランダム %)] を選択します。スライダーを使用して、0~10 の範囲のランダム パーセンテージを設定します。

Firebase コンソールの GUI の手順を使用して、既存のパラメータでパーセンテージ ロールアウトを行う画像
パーセンテージによる機能ロールアウトのためのパラメータを追加する

new_search_feature_flag 値が Remote Config から取得されると、ランダムに選択されたユーザーの 10% が値 true を受け取り、残りの 90% は値 true を受け取ります。 値 false を受け取ります。

ユーザー母集団の 10% がこの機能の安定性に満足した場合、パーセンテージを 30%、50% と上げて満足度を確認し、最終的には 100% に設定します。

アプリにプラットフォーム / ロケール固有のプロモーション バナーを定義する

e コマースのセールが近づいたので、アプリでプロモーション用のスプラッシュ ページを有効にするとします。さらに、ユーザーのデバイスに設定されているロケールに合わせて、このスプラッシュ ページをカスタマイズします。この場合、promo_splash_graphic パラメータを定義して、その値を静的 URL(Firebase Storage または他の場所)に設定し、アプリ内から動的に参照できるようにします。

また、プロモーション キャンペーンで最も重要なロケールでは、Android と Apple で異なる値を割り当てます。 特定の時間にプロモーションをトリガーする必要がある場合は、 Remote Config の時間条件です。また、 リアルタイム Remote Config を実装して、 変更内容はテンプレートの公開後すぐに取得されるため アプリ内で必要に応じて有効にできます。

Firebase コンソールの GUI の手順を使用して、プラットフォームとロケール固有のプロモーション バナーを定義するアニメーション画像
ローカライズされたプロモーション バナーのパラメータを追加する

また、 更新する Remote Config バックエンド API パラメータ値をプログラマティックに取得して、 cron ジョブを実行します。

アプリの初回起動時間に基づいて、カスタマイズしたエクスペリエンスをユーザーに提供する

Remote Config を使用すると、以下に基づいてユーザーにカスタム エクスペリエンスを提供できます。 ユーザーが初めてアプリを開いた日時。次のようなユースケースがあります。

  • ユーザーがアプリを利用する際に、別のオンボーディング フローを提供する。
  • ある特定の日をすぎたら、フィーチャー トグルや切り替えボタンで無効になっているインセンティブや機能を新規ユーザーに公開する。
  • 特定の期間中にアプリを利用開始したユーザーに対して、カスタマイズしたエクスペリエンスを提供する。

たとえば、新規ユーザーにゲーム内ギフトを贈ってゲームの初回利用と利用の継続を促したり、長期間利用しているユーザーのグループには別の特典を贈ったりできます。extra_coin_splash というパラメータを作成し、カスタマイズ可能なメッセージ、ボーナスコインの数、ユーザーが特典を利用していない場合に特典を再表示できる最大回数を指定して、ゲーム内通貨の無料特典を提供するポップアップ メッセージを制御できます。アプリ内デフォルト値をパラメータのデフォルト値として使用して、次の 2 つの条件を作成できます。

最初に、特定の Android アプリまたは iOS アプリをターゲットとする、1 つの条件値extra_coins_splash Remote Config パラメータに追加して初回起動に将来の日時を指定し、パラメータ値を以下のように設定します。

{"banner_text": "Welcome! Enjoy some extra coins!", "bonus_coins": 15, "max_display_retries": 2}

次に、特典を付与する既存のユーザー グループに関する条件を追加します。たとえば、7 月にゲームの利用を開始し、10 月になっても継続して利用しているすべてのユーザーを対象にするとしましょう。そのためには、別の条件値extra_coins_splash パラメータに追加して初回起動に 7 月 1 日から 8 月 1 日までの期間を指定し、パラメータ値を以下のように設定します。

{"banner_text": "Thanks for being a loyal user!", "bonus_coins": 30, "max_display_retries": 2}:

最終的な extra_coins_splash パラメータは次のようになります。

<span class=条件値を含む Remote Config パラメータtitle="条件値を含む Remote Config パラメータ"width="55%">

このパラメータを使用して構成を公開すると、両方のユーザー グループが次回のフェッチ後に、設定したパラメータ値に相当する追加コインを受け取ります。

次のステップとして、A/B Testing のテストをお試しいただくか、 パーソナライズ さまざまなバナーメッセージとボーナスを使って、 コインの金額です。

限られたテストグループで新機能をテストする

通常、限られたテストグループで新機能をテストする場合は、Google Play の Alpha チャンネルや Apple アプリの Test Flight を使用します。これらのツールは、通常の開発サイクルと同じサイクルで新しい機能をテストしたい場合に最適です。

ただし、通常の開発サイクルの次のリリース タイミングに関係なく、機能のテストをすぐに行い、有効または無効にしたいこともあります。このような場合、Remote Config は非常に便利なツールになります。

たとえば、社員間で新しいグラフィックのテストを行うときに、Remote Config でこれを有効にするにはどうすればよいですか?

ユーザーがアプリにログインするときに、ユーザーのメール ID を確認し、メールアドレスが自社のドメインに属している場合にのみ、ユーザー プロパティ is_mydomain_employee=true を設定します。次に、そのユーザー プロパティの追跡条件を作成します。Remote Config でこのユーザー プロパティをターゲットに設定し、これらのユーザーに対してのみ新しい機能を有効にできます。

Firebase コンソールの GUI の手順を使用して、限られたテストグループで新機能をテストするアニメーション画像
条件付きテストグループをターゲットに設定する

JSON を使用してアプリやゲームで複雑なエンティティを構成する

アプリが複雑になるにつれ、アプリに構成を提供する方法を改善していく必要があります。たとえば、新しいログイン システムを構成するときに、制御する動的値ごとに 1 つの Remote Config パラメータを作成するとします。しかし、この方法ではログイン システムの構成が煩雑になり、理解するのも保守するのも難しくなります。

このようなログイン システムに構成を提供する方法としては、JSON を使用して、すべてのパラメータを 1 つにまとめるという方法のほうが適切です。この場合、長期的に login パラメータを編集して管理する作業がはるかに容易になります。

Firebase コンソールには、Remote Config パラメータの編集時に使用できる JSON バリデータとプリティプリンタが用意されています。コンソールで作業するときは {} アイコンをクリックしてエディタを開きます。

Firebase コンソールの GUI の手順を使用し、JSON を使用して複雑なエンティティを構成するアニメーション画像
JSON エディタを使用してパラメータをグループ化する

Remote Config のアップデートが公開されたら Slack / メール メッセージを送信

Remote Config を使用する大規模なチームでは、多くの場合、 チーム内で誰が Remote Config を公開しているかを把握できます。

共同作業のワークフローを簡素化するため、よく使う方法(Slack またはメール)でアラートをほぼリアルタイムで受け取ることができます。Remote Config REST API と Cloud Functions for FirebaseRemote Config バックグラウンド トリガーを使用すると、Remote Config テンプレートが変更されるたびに通知を送信できます。

eBay は最近、実装をオープンソース化 Cloud FunctionsRemote Config を使用して差分を公開する方法 新旧の Remote Config テンプレートを Slack チャンネルにインポート。