コンソールへ移動

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

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

Remote Config ライブラリは、アプリ内デフォルト パラメータ値を格納すること、更新されたパラメータ値をサービスからフェッチすること、フェッチ済みの値をアプリで有効にするタイミングを制御することにそれぞれ使用されます。詳しくは Remote Config API の概要をご覧ください。

アプリに 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 サービスに設定したすべての値がフェッチされ、Remote Config オブジェクトにキャッシュされます。
  2. フェッチ済みのパラメータ値をアプリで使用できるようにするには、ActivateFetched() メソッドを呼び出します。

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