Firebase Summit で発表されたすべての情報をご覧ください。Firebase を使用してアプリ開発を加速し、自信を持ってアプリを実行する方法を紹介しています。詳細

Firebase RemoteConfigを使い始める

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。


Firebase Remote Config を使用して、アプリでパラメーターを定義し、クラウドでその値を更新して、アプリの更新を配布せずにアプリの外観と動作を変更できます。

Remote Config ライブラリは、アプリ内のデフォルト パラメータ値を保存し、Remote Config バックエンドから更新されたパラメータ値を取得し、取得した値をアプリでいつ利用できるようにするかを制御するために使用されます。詳細については、 Remote Config の読み込み戦略を参照してください。

このガイドでは、開始するための手順を順を追って説明し、いくつかのサンプル コードを提供します。これらはすべて、 firebase/quickstart-unity GitHub リポジトリから複製またはダウンロードできます。

ステップ 1: アプリに Remote Config を追加する

Remote Configを使用する前に、次のことを行う必要があります。

  • Unity プロジェクトを登録し、Firebase を使用するように構成します。

    • Unity プロジェクトですでに Firebase を使用している場合は、Firebase 用に既に登録および構成されています。

    • Unity プロジェクトがない場合は、サンプル アプリをダウンロードできます。

  • Unity プロジェクトにFirebase Unity SDK (具体的にはFirebaseRemoteConfig.unitypackage ) を追加します。

Unity プロジェクトに Firebase を追加するには、 Firebase コンソールと開いている Unity プロジェクトの両方でタスクが必要になることに注意してください (たとえば、コンソールから Firebase 構成ファイルをダウンロードして、それらを Unity プロジェクトに移動します)。

ステップ 2: アプリ内のデフォルト パラメータ値を設定する

Remote Config オブジェクトでアプリ内の既定のパラメーター値を設定して、Remote Config バックエンドに接続する前にアプリが意図したとおりに動作し、バックエンドで何も設定されていない場合に既定値を使用できるようにすることができます。

これを行うには、文字列ディクショナリを作成し、追加するデフォルトを表すキーと値のペアを入力します。 Remote Config バックエンド パラメータ値をすでに設定している場合は、これらのキーと値のペアを含むファイルをダウンロードし、それを使用して文字列辞書を作成できます。詳細については、「 Remote Config テンプレートのデフォルトをダウンロードする」を参照してください。

(文字列以外のプロパティは、 SetDefaultsAsync()が呼び出されたときにプロパティの型に変換されます)。

System.Collections.Generic.Dictionary<string, object> defaults =
  new System.Collections.Generic.Dictionary<string, object>();

// These are the values that are used if we haven't fetched data from the
// server
// yet, or if we ask for values that the server doesn't have:
defaults.Add("config_test_string", "default local string");
defaults.Add("config_test_int", 1);
defaults.Add("config_test_float", 1.0);
defaults.Add("config_test_bool", false);

Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.SetDefaultsAsync(defaults)
  .ContinueWithOnMainThread(task => {

ステップ 3: アプリで使用するパラメーター値を取得する

これで、Remote Config オブジェクトからパラメーター値を取得できます。 Remote Config バックエンドで値を設定し、フェッチしてからアクティブ化すると、それらの値をアプリで使用できます。それ以外の場合は、 SetDefaultsAsync()を使用して構成されたアプリ内パラメーター値を取得します。

これらの値を取得するには、パラメーター キーを引数として指定してGetValue()を使用します。これは、値をさまざまな基本型に変換するためのプロパティを持つConfigValueを返します。

ステップ 4: Firebase コンソールでアプリを接続する

Firebase コンソールで、アプリを Firebase プロジェクトに追加します。

ステップ 5: パラメータ値を設定する

  1. Firebase コンソールで、プロジェクトを開きます。
  2. メニューから [ Remote Config ] を選択して、Remote Config ダッシュボードを表示します。
  3. アプリで定義したパラメーターと同じ名前のパラメーターを定義します。パラメータごとに、デフォルト値 (最終的にはアプリ内デフォルト値を上書きします) と条件値を設定できます。詳しくは、 Remote Config のパラメーターと条件をご覧ください。

ステップ 6: 値を取得してアクティブ化する (必要に応じて)

Remote Config バックエンドからパラメーター値を取得するには、 FetchAsync()メソッドを呼び出します。バックエンドで設定した値はすべて取得され、Remote Config オブジェクトにキャッシュされます。

// Start a fetch request.
// FetchAsync only fetches new data if the current data is older than the provided
// timespan.  Otherwise it assumes the data is "recent enough", and does nothing.
// By default the timespan is 12 hours, and for production apps, this is a good
// number. For this example though, it's set to a timespan of zero, so that
// changes in the console will always show up immediately.
public Task FetchDataAsync() {
  DebugLog("Fetching data...");
  System.Threading.Tasks.Task fetchTask =
  Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.FetchAsync(
      TimeSpan.Zero);
  return fetchTask.ContinueWithOnMainThread(FetchComplete);
}

FetchAsync()経由でフェッチされた値は、フェッチが完了するとローカルにキャッシュされますが、 ActivateFetched()が呼び出されるまで使用できません。 FetchAsync()は非同期で実行されるため、これにより、新しい値が計算の途中で適用されたり、問題や奇妙な動作を引き起こす可能性のある他の時点で適用されたりしないようにすることができます。

ステップ 7: (オプション) 開発者モードを有効にする

開発中にスロットリングを無効にするために使用できる開発者モードを有効にするには、 FirebaseRemoteConfig.Settingプロパティを使用して、 IsDeveloperModeを true に設定した新しいConfigSettingsを設定します。

Next steps

If you haven't already, explore the Remote Config use cases , and take a look at some of the key concepts and advanced strategies documentation, including: