Firebase (iOS) : アプリの初期設定値をRemoteConfigを使って設定する

スポンサーリンク

アプリの初期設定値(デフォルト値)をFirebaseのコンソール上で設定して、リモート管理できるようにする感じの機能です。やろうと思えばいろいろできそうですが、とりあえず、シンプルな値の取得までやってみます。

00

Firebase関連をまとめた

Firebase / Fabric 関連
Firebase / Fabric : 関連MEMOまとめ(随時更新) FirebaseやFabric関連について長い期間かけていくつかのM...

もご参考に。

公式なドキュメントは

です。ここの流れに沿ってやってみます。

Firebase (iOS) : Xcodeでアプリを新規に作成開始するところからの流れ
Firebaseへの登録のあたりを書いたMEMO「Firebase はじめました」の続きです。Xcodeを使って新規にアプリを作るところから...

ここでセットアップしたようにCocoaPodsでRemoteConfigに必要なSDKをインストールします。プロジェクトフォルダにある「Profile」をテキストエディタで開いて、

 01

pod 'Firebase/RemoteConfig'

を追加。ターミナルでそのディレクトリに移動し、「pod update」を実行し、RemoteConfigをインストールします。

Xcodeを起動し、まず、初期設定値を管理するplistファイルを作成します。File > New > File …

02

「MFPConfig」という名前にしておきます。(MFPはこのサンプルアプリのMyFootPrintからとっただけ)

03

作成した「MFPConfig.plist」のRootにある「+」ボタンを押して「TestData」というプロパティをBoolean型(YESかNOかの型)で作成してみます。値はこちらはNOにしておきましょうか。

04

次にFirebaseのRemoteConfigにもこれと同じ名前のプロパティを作っておきます。通信環境が悪く、リモートのFirebaseに繋がらないときは、こちらのplistの値がデフォルトで使われるような感じですね。「最初のパラメータを追加」を押して、パラメータキーに「TestData」をデフォルト値に「1」と入れておきます。「ADD PARAMETER」を押した後、「変更を公開」を押すのをお忘れなく。

05

さて、このRemoteConfigの値をAppDelefate.swiftの「didFinishLaunchingWithOptions」で取得してみます。取得する場所はここでなくてもいいのですが、初期値として扱う場合は、その機能が実行される前に行う必要があります。

あとは、シンプルな状態のコードを以下に書いておきます。class AppDelegateのすぐ下に「var remoteConfig:FIRRemoteConfig!」を書いておいて、didFinishLaunchingWithOptionsで実行、self.remoteConfig.setDefaultsFromPlistFileName(“MFPConfig”)の「MFPConfig」は「MFPConfig.plist」のファイル名と一致させ、remoteConfig[“TestData”]という部分の「TestData」はRemoteConfigで設定したパラメータキーです。

source code by gist. 

この値を使う場所ですが、アプリ内のどこででもアクセスできます。

例:

self.remoteConfig = FIRRemoteConfig.remoteConfig()

iMapView.isZoomEnabled = self.remoteConfig[“MapAllowZooming”].boolValue

//gist-embed