Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

Remote Config でできること

アプリのデベロッパーは、独自の要件に合わせて Remote Config をさまざまな方法で使用しています。Google でも、このような使い方をおすすめしています。ここでは、モバイル デベロッパーが幅広く応用できるユースケースをご紹介します。Remote Config の使い方を考えるうえで参考にしてください。

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

新しい機能に対するユーザーの反応が想定できない場合、すべてのアプリユーザーに新しい機能をリリースすることはリスクが高すぎるでしょう。このため、多くのデベロッパーは Remote Config を利用してパーセンテージ ロールアウトを行い、新しい機能を段階的に公開しています。

既存の Remote Config パラメータでパーセンテージ ロールアウトを行うには、パラメータに新しい条件を追加します(「User in random percentile」条件を使用し、% 値を 10% に設定します)。

パーセンテージでの機能ロールアウトのパラメータを追加する

これで、new_search_feature パラメータが Remote Config からフェッチされると、10% のユーザーがランダムに選択されて値 true が設定されます。残りのユーザーには、値 false が設定されます。

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

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

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

また、プロモーション キャンペーンで最も重要なロケールでは、Android と iOS で異なる値を割り当てます。 特定の時間にプロモーションをトリガーする必要がある場合は、Remote Config の時間条件を使用します。

ローカライズされたプロモーション バナーのパラメータを追加する

Remote Config バックエンド API を使用すると、パラメータ値をプログラムによって更新し、cron ジョブから機能を開始できます。

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

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

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

たとえば、社員間で新しいグラフィックのテストを行うときに、Remote Config をどのように使えばよいのか考えてみましょう。

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

条件付きテストグループをターゲットに設定する

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

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

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

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

JSON エディタを使用してパラメータをグループ化する

Remote Config の更新公開時に Slack /メール メッセージを送信する

Remote Config を大規模なチームで使用している場合、チーム内で Remote Config を公開しているユーザーや時間を追跡するのが難しくなります。

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

eBay は最近、Cloud Functions と Remote Config を使って新旧の Remote Config テンプレートの差分を Slack チャンネル経由で公開する手法をオープンソースとして公開しました。