コンソールへ移動

Firebase Remote Config の読み込み方法

Firebase Remote Config では、いつ、どのようにサーバーから新しい値を取得してアプリで有効にするかを管理できるため、表示される構成を変更するタイミングを制御して、質の高いエンドユーザー エクスペリエンスを確保できます。このガイドでは 3 つの読み込み方法を紹介し、アプリに最適なオプションを選択する際の主な考慮事項について説明します。

方法 1: 値を取得して読み込み時に有効にする

この方法では、アプリの初回起動時に fetchAndActivate() を呼び出して Remote Config から新しい値を取得し、読み込みが完了したらすぐに有効にします。このシンプルなアプローチは、構成変更後に UI の表示が大きくは変化しない場合に適しています。ユーザーによる使用中に UI が明らかに変化するような状況では、この方法は使用しないでください。

方法 2: 読み込み画面の表示中に有効にする

方法 1 で発生する可能性がある UI の問題の解決策として、読み込み画面を利用できます。アプリをすぐに起動する代わりに、読み込み画面を表示して、完了ハンドラで fetchAndActivate を呼び出します。その直後に、もう一度コールバックまたは通知を使用して、読み込み画面を閉じてから、ユーザーがアプリの操作を開始できるようにします。

この方法を使用する場合は、読み込み画面にタイムアウトを追加することをおすすめします。Remote Config の 1 分間のタイムアウトは、アプリの起動に関して質の高いユーザー エクスペリエンスを提供するには長すぎる場合があるためです。

方法 3: 次回の起動時に新しい値を読み込む

これは、新しい構成値を読み込み、アプリの次回の起動時に有効にする効果的な方法です。この方法では、アプリは起動時に取得した値を有効にしてから、新しい値の取得を試行します。つまり、新しい構成値は取得済みであるものの、まだ有効になっていないという前提に基づいて動作します。この方法でのオペレーションの順序は次のとおりです。

  1. 起動時に、直ちに activateFetched() を呼び出します。これにより、以前のセッションでサーバーからダウンロードした値がすぐに反映されます。
  2. ユーザーがアプリを操作しているときに、非同期の呼び出しを開始して新しい値を取得します。
  3. 取得呼び出しの完了ハンドラでは、何の処理も行いません。ダウンロードした値は、次回のアプリ起動時に有効にするまでアプリで保持されます。

この方法では、ユーザーの待機時間が大幅に短縮されます。ただし、最新の構成を表示するには、ユーザーはアプリを 2 回実行する必要があります。これらの考慮事項とビジネスおよびアプリのロジックとのバランスを考慮する必要があります。

回避すべき読み込み方法

読み込みに関する長所と短所を説明しましたが、避けるべき使用パターンがいくつかあります。

  • ユーザーが UI を表示または操作している間は、UI に関連する更新や切り替えは行わない。ただし、終了したプロモーションに関連するオプションを削除するなど、アプリやビジネスに関する大きな理由がある場合は、この限りではありません。
  • 大量の取得リクエストを同時に送信しない。サーバーでアプリがスロットル処理される恐れがあります。これが発生するリスクは、ほとんどの本番環境では低いものの、開発中に問題になる可能性があります。Android および iOS のスロットル処理のガイダンスをご覧ください。

次のステップ

構成値を読み込む方法は、上で説明した 3 つの基本的な方法に限られません。ニーズに応じて、関数駆動型のバックグラウンド更新など、更新をリアルタイムで伝達するで説明している、より高度な方法を考案して利用することもできます。

構成値を取得して有効にするための特定の呼び出しについて詳しくは、お使いのプラットフォームの API リファレンスをご覧ください。