Firebase Remote Config を iOS で使用する

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

Remote Config をアプリに追加する

  1. Firebase SDK をインストールします
  2. Podfile に次の依存関係を追加します。
    pod 'Firebase/RemoteConfig'
  3. pod install を実行して、作成した .xcworkspace ファイルを開きます。
  4. Firebase モジュールを UIApplicationDelegate サブクラスにインポートします。

    Objective-C

    @import Firebase;
    

    Swift

    import Firebase
    
  5. FIRApp 共有インスタンスを設定します。通常はアプリケーションの application:didFinishLaunchingWithOptions: メソッドを使用します。

    Objective-C

    // Use Firebase library to configure APIs
    [FIRApp configure];
    

    Swift

    // Use Firebase library to configure APIs
    FIRApp.configure()
    
  6. 次の例のとおり Remote Config シングルトン オブジェクトを作成します。

Objective-C

self.remoteConfig = [FIRRemoteConfig remoteConfig];

Swift

self.remoteConfig = FIRRemoteConfig.remoteConfig()

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

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

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

  1. 一連のパラメータ名とデフォルト パラメータ値を定義します。NSDictionary オブジェクトまたは plist ファイルを使います。
  2. setDefaults: を使って、これらの値を Remote Config オブジェクトに追加します。

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

ここまでの手順で、パラメータ値を Remote Config オブジェクトから取得できるようになりました。Remote Config サーバーに設定した値をフェッチし、有効化すると、それらの値をアプリで使用できるようになります。または setDefaults: を使って設定したアプリ内パラメータ値を取得します。アプリ内パラメータ値を取得するには、configValueForKey: メソッドを呼び出します。このとき、引数としてパラメータキーを指定します。

Firebase console でアプリを接続する

Firebase console でアプリを Firebase プロジェクトに追加します。

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

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

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

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

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

フィードバックを送信...