コンソールへ移動

Firebase Remote Config を Android で使用する

Firebase Remote Config を使ってアプリ内パラメータを定義し、その値をクラウドで更新することができます。これにより、アプリのアップデートを配布しなくてもアプリの外観や動作を変更できます。このガイドでは、次の手順に沿ってアプリで Remote Config を使用する方法について説明します。

  1. アプリに Firebase を追加します。
  2. Remote Config シングルトン オブジェクトを取得します。
  3. アプリ内デフォルト パラメータ値を設定します。
  4. アプリ内で使うパラメータ値を取得します。
  5. 必要に応じて、Remote Config サービスでパラメータ値を設定します。
  6. 必要に応じて、Remote Config サービスから値をフェッチし、有効化します。

アプリに Firebase を追加する

  1. まだ Firebase を Android プロジェクトに追加していない場合は追加します。

  2. プロジェクト レベルの build.gradle ファイルの buildscript セクションと allprojects セクションに Google の Maven リポジトリを含めます。

  3. Remote Config Android ライブラリの依存関係をモジュール(アプリレベル)の Gradle ファイル(通常は app/build.gradle)に追加します。

    implementation 'com.google.firebase:firebase-config:18.0.0'
    implementation 'com.google.firebase:firebase-analytics:17.0.1'
    

Remote Config シングルトン オブジェクトを取得する

Remote Config クイックスタートのサンプルアプリに示されている FirebaseRemoteConfig.getInstance() メソッドを使用して、シングルトン Remote Config オブジェクトを取得します。

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

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

アプリ内デフォルト パラメータ値を Remote Config オブジェクトに設定して、Remote Config サービスから値をフェッチする前にアプリが予想通りに動作するようにしておく必要があります。

  1. Map オブジェクト、またはアプリの res/xml フォルダにある XML リソース ファイルを使用して、一連のパラメータ名とデフォルト パラメータ値を定義します。Remote Config クイックスタート サンプルアプリでは、XML ファイルを使用してデフォルトのパラメータ名や値を定義しています。
  2. Remote Config クイックスタートのサンプルアプリに示されている setDefaultsAsync(int) を使用して、これらの値を Remote Config オブジェクトに追加します。

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

ここまでの手順で、パラメータ値を Remote Config オブジェクトから取得できるようになりました。Remote Config サービスに値を設定し、フェッチし、有効化すると、それらの値をアプリで使用できるようになります。それ以外の場合は、setDefaultsAsync(int) を使用して、構成されたアプリ内パラメータ値を取得します。これらの値を取得するには、アプリによって予期されるデータ型に対応した下記のメソッドを呼び出します。このとき、引数としてパラメータキーを指定します。

必要に応じてパラメータ値をサービスに設定する

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

必要に応じてサービスから値をフェッチし、有効化する

  1. Remote Config サービスからパラメータ値をフェッチするには、fetch() メソッドを呼び出します。Remote Config サービスに設定したすべての値がフェッチされ、Remote Config オブジェクトに保存されます。
  2. フェッチしたパラメータ値をアプリで利用できるようにするには、activate() メソッドを呼び出します。

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

次のステップ

Remote Config クイックスタート サンプルアプリの詳細については、Firebase Remote Config の Android 向けサンプルアプリのチュートリアルをご覧ください。

Remote Config をアプリで使う方法の詳細については、Remote Config に関するよくある質問のパラメータ値のフェッチと有効化デベロッパー モードと調整フェッチのタイミングについての記事をご覧ください。