はじめまして、masaoです。
今回は「Firebase」の「Remote Config」という便利機能を紹介しようと思います。
私はAndroid開発をメインでしているので、基本javaでコードは書きますが、iOSでもできるので安心してください。
「Firebase」とは何かというと、Mobile Backend as a Service(MBaas)の一つなのですが、
アカウントを作成し、SDKをアプリに導入するだけで、サーバのセットアップやメンテナンスをする必要がなく、
簡単にオンラインデータベースを使用したり、アナリティクスを使って分析をすることができるサービスです。
Remote Config
Key Value
Remote Configとはなにかと言うとシンプルなKeyValueストアです。
例えば、ストアに{ hoge: fuga }
を登録しておいて、Androidアプリで
firebaseRemoteConfig.getString("hoge");
と設定すると、fuga
を出力してくれます。
これらは何に役に立つのかというと、WEBコンソール上で設定することができて、公開を押すだけでアプリに反映されます。
例えば、チュートリアルのダイアログをだしていたとして、その文言や内容を変更しようとしたとき、
アプリに直接記述している場合はアプリをリリースしなければなりません。
ですが、チュートリアルの文言を { tutorial1: ここをタップしてください }
と言った具合に登録しておけば、
変更したい場合にアプリをリリースする必要がなく、コンソール上で変更して公開するだけで完了します。
firebaseRemoteConfig.activateFetched();
を設定してあげれば、値を更新してくれます。ただし、Firebaseのプランによっては1日あたりのFetch回数に制限があるので気をつけてください。
また、デフォルト値を読み込みたい場合は以下を設定するとストアのデフォルト値を読み込んでくれます
firebaseRemoteConfig.setDefaults(R.xml.remote_config_defaults);
機能紹介にあるように #000000
みたいにカラーコードを設定してあげれば、コードを変更せずに、
画面の背景色等を変更することができます。
A/Bテスト
そのほかの機能としてABテストの機能があります。
登録したKeyValueの編集ボタンを押すと右上に「条件値を追加」があるのでクリックしましょう。
すると下記のような画面がでるので、アプリを選択して、条件名と適応する条件を設定しましょう。
下の場合だと30%のユーザーに適応する設定になっています。
そして、条件を作成すると先程設定した条件が出てくるので、
条件に当てはまるユーザーに表示するValueを設定しましょう。
今回は「fugafuga」を設定しました。これで条件を満たしたユーザーには「fugafuga」が表示されます。
このように、条件を追加すればA/Bテストを簡単に行うことができます。
コード上で難しいif文やcase文を使わなくても良くなるし、テストが終われば、条件を削除すればいいだけなので、
A/Bテストを始める時、終える時にリリースは必要ないのです。
条件も様々な条件を設定することができ、自分で設定したユーザープロパティや言語、バージョンなど様々な条件があるので非常に使いやすいです。
おわりに
ここまで紹介しておいて何なのですが、私のプロジェクトにはまだ Remote Config は導入できていません...汗
ですが、非常に便利な機能なので、ぜひ皆さん活用してみてください!