Quantcast
Channel: KLab Engineer Advent Calendarの記事 - Qiita
Viewing all articles
Browse latest Browse all 25

既存アプリに新規機能と一緒にFirebaseAnalyticsを導入した際のお話

$
0
0

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"));

計測した結果何があったか

機能リリース当初はフロー調整の指標やバグの特定に役立ってくれました
実装が落ち着いた今でも特定地域でのみ起きやすい問題の追跡がしやすいため時々活躍します


Viewing all articles
Browse latest Browse all 25

Trending Articles