FirebaseAnalyticsについて
ざっくりと説明するとアプリ上等に埋め込んだイベントを集計してユーザーの行動を計測出来るFirebase上の機能です
詳細はマニュアルへ
利点
サーバ側実装が不要
基本的に実装はクライアント側だけでも完結します
ただし集計用データの設計は必要なためサーバー側のデータとまとめて集計する場合はデータ設計に注意
デフォルトで取ってくれる情報が多い
年齢、性別、端末情報等は特に何もしなくても取ってくれます
Firebaseの他の機能のログも取ってくれたりするので併用する場合は追加の実装をしなくてもデータが取れる場合があります
Firebaseの他の機能やGoogleのサービスと連携しやすい
上記にもある通りデフォルトで情報を取ってくれたりBigQueryとの連携が容易だったりします
視覚化しやすい
このように地域毎のアクティブユーザーが視覚化できたり
イベント数をグラフ化してくれたりします
欠点
コンソール上でユーザープロパティが25個までしか設定できない(2018/12/05 現在)
コンソール上で見れるユーザープロパティは25個まで
名前の変更も不可能なので注意
それ以上のユーザー分類をする場合はBigQueryを使う必要があるようです
ユーザー個人の情報はそのままだと見れない
一応BigQuery等と組み合わせれば見れたりするようです
FirebaseAnalyticsはあくまで全体を見るためのツールという位置づけの模様
導入理由
とあるUnity製アプリに新しく入れた機能の利用率や離脱率の計測をするために導入しました
導入方法
公式の導入マニュアルがわかりやすいためここでは割愛します
機能
機能一覧はこちら
今回の要件
今回は以下のものを計測したいという要件がありました
- ON, OFF可能な機能なのでユーザーがどちらを選んでいるのか
- ONにした場合ユーザーが機能のどの部分で離脱したか
- 離脱した場合の可能な限りの詳細ログ
実装方法について
ON, OFF可能な機能なのでユーザーがどちらを選んでいるのか
ユーザー毎に状態を持つこととなるためUserPropertyでON, OFFの状態を持ちました
UserProperties.SetProperty("Enable", true);
ONにした場合ユーザーが機能のどの部分で離脱したか
各状態毎にイベントを飛ばすことで計測しました
FirebaseAnalytics.LogEvent("Phase1");
離脱タイミング等フローが決まっているものに関しては 目標達成プロセス を設定しておくと視覚化しやすいです
離脱した場合の可能な限りの詳細ログ
ユーザーの選択次第で途中で該当の機能を抜けることができたため、離脱時のログをイベントを飛ばす際に カスタムパラメータレポート として付与しました
FirebaseAnalytics.LogEvent(
"Phase1Away",
new Parameter("Away log"));
計測した結果何があったか
機能リリース当初はフロー調整の指標やバグの特定に役立ってくれました
実装が落ち着いた今でも特定地域でのみ起きやすい問題の追跡がしやすいため時々活躍します