アプリの初期設定値(デフォルト値)をFirebaseのコンソール上で設定して、リモート管理できるようにする感じの機能です。やろうと思えばいろいろできそうですが、とりあえず、シンプルな値の取得までやってみます。
Firebase関連をまとめた
もご参考に。
公式なドキュメントは
です。ここの流れに沿ってやってみます。
ここでセットアップしたようにCocoaPodsでRemoteConfigに必要なSDKをインストールします。プロジェクトフォルダにある「Profile」をテキストエディタで開いて、
pod 'Firebase/RemoteConfig'
を追加。ターミナルでそのディレクトリに移動し、「pod update」を実行し、RemoteConfigをインストールします。
Xcodeを起動し、まず、初期設定値を管理するplistファイルを作成します。File > New > File …
「MFPConfig」という名前にしておきます。(MFPはこのサンプルアプリのMyFootPrintからとっただけ)
作成した「MFPConfig.plist」のRootにある「+」ボタンを押して「TestData」というプロパティをBoolean型(YESかNOかの型)で作成してみます。値はこちらはNOにしておきましょうか。
次にFirebaseのRemoteConfigにもこれと同じ名前のプロパティを作っておきます。通信環境が悪く、リモートのFirebaseに繋がらないときは、こちらのplistの値がデフォルトで使われるような感じですね。「最初のパラメータを追加」を押して、パラメータキーに「TestData」をデフォルト値に「1」と入れておきます。「ADD PARAMETER」を押した後、「変更を公開」を押すのをお忘れなく。
さて、この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
東京造形大学卒業後、マクロメディア(現アドビ)に入社。QAやテクニカルサポートマネージャーとしてFlash、DreamweaverなどのWeb製品を担当。独立後、2007年に虫カゴデザインスタジオ株式会社を設立。2021年東京三鷹を拠点に。最近は、Unity, Unity Netcode for GameObjects, CakePHP, Laravel, ZBrush, Modo, Adobe Substance 3D, Adobe Firefly, Xcode, Apple Vision Pro, Firebaseにフォーカスしています。モバイルアプリ開発情報を主としたブログ「MUSHIKAGO APPS MEMO」の中の人。