コンソールへ移動

C++ による Firebase Remote Config の使用

Firebase Remote Config を使ってアプリ内パラメータを定義し、その値をクラウドで更新できます。これにより、アプリのアップデートを配布しなくてもアプリの外観や動作を変更できます。

Remote Config ライブラリは、アプリ内のデフォルトのパラメータ値の保存、Remote Config バックエンドからの更新されたパラメータ値のフェッチ、フェッチされた値がアプリで使用できるようになるタイミングの制御に使用されます。詳細については、Remote Config の読み込み方法をご覧ください。

アプリに Firebase を追加する

Firebase Remote Config を使用するには、次の作業が必要です。

  • Firebase を使用するように C++ プロジェクトを登録して構成する。

    C++ プロジェクトですでに Firebase を使用している場合、この登録と構成はすでに行われています。

  • プロジェクト レベルの build.gradle ファイルの buildscript セクションと allprojects セクションの両方に Google の Maven リポジトリを組み込みます。

  • Firebase C++ SDK を C++ プロジェクトに追加する。

Firebase を C++ プロジェクトに追加するには、Firebase コンソールと開いている C++ プロジェクトの両方でこのタスクを行う必要があります(コンソールから Firebase 構成ファイルをダウンロードして C++ プロジェクトに移動するなど)。

Remote Config をアプリに追加する

Android

Firebase をアプリに追加したら、次のことを行います。

  1. Firebase アプリを作成し、JNI 環境とアクティビティに渡します。

    app = ::firebase::App::Create(::firebase::AppOptions(), jni_env, activity);

  2. 次に示すように Remote Config Library を初期化します。

    ::firebase::remote_config::Initialize(app);

iOS

Firebase をアプリに追加したら、次のことを行います。

  1. Firebase アプリを作成します。

    app = ::firebase::App::Create(::firebase::AppOptions());

  2. 次に示すように Remote Config Library を初期化します。

    ::firebase::remote_config::Initialize(app);

アプリ内デフォルト パラメータ値を設定する

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

  1. パラメータ名のセットとデフォルトのパラメータ値を定義するには、std::map<const char*, const char*> オブジェクトか std::map<const char*, firebase::Variant> オブジェクトを使用します。
  2. SetDefaults() を使用して、これらの値を Remote Config オブジェクトに追加します。

アプリ内で使うパラメータ値を取得する

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

これらの値を取得するには、アプリによって予期されるデータ型に対応した下記のメソッドを呼び出します。このとき、引数としてパラメータキーを指定します。

Firebase コンソールでアプリを接続する

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

パラメータ値を設定する

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

値をフェッチして有効にする

  1. Remote Config バックエンドからパラメータ値をフェッチするには、Fetch() メソッドを呼び出します。バックエンドに設定したすべての値がフェッチされ、Remote Config オブジェクトにキャッシュ保存されます。
  2. フェッチ済みのパラメータ値をアプリで使用できるようにするには、ActivateFetched() メソッドを呼び出します。

これらの更新されたパラメータ値はアプリの動作と外観に影響するので、スムーズなユーザー エクスペリエンスを邪魔しないタイミング(次にユーザーがアプリを開いたときなど)でフェッチ済みの値を有効化する必要があります。