iOSアプリでFirebase Analyticsを試してみました
Googleが運営しているmBaaSサービス「Firebase」が高機能になり、最近ますます注目されています。
このFirebaseが提供している機能の中で、簡単にモバイルアプリに組み込むことができ、利用状況の解析まで行えるのが「Firebase Analytics」です。
Firebase Analyticsではどのような値が取れて、どのような解析ができるのかをiOSアプリに組み込んで試してみました。
Firebase Analyticsの組み込み方法
1. Firebaseプロジェクトを作成する
Firebaseを利用するには、Firebaseアカウントが必要になります。
アカウント作成してログインし、Firebaseプロジェクトの作成を行います。
Firebaseプロジェクトの作成中に丁寧な説明が出るので迷わず作れます。
Firebaseプロジェクトの作成で設定する主な内容は下記です。
- プロジェクト名(サンプルの場合は適当で問題ありません)
- 公開名(ユーザーがアプリでアカウントを作った際に送られるメールに表示される名称です)
- バンドルID(iOSアプリで設定したものと同じものを指定)
- App Store ID(ない場合は空白で問題ありません)
Firebaseプロジェクト設定が完了すると「GoogleService-Info.plist」ファイルがダウンロードできますので、適当な場所にダウンロードしておきます。
2. iOSアプリでFirebaseの設定を行う
Firebaseプロジェクト作成後はiOSアプリ側での作業になります。
最初にFirebaseプロジェクトでダウンロードした「GoogleService-Info.plist」ファイルをiOSアプリに追加します。
次にiOSアプリにFirebaseライブラリを追加します。
ライブラリのインストールは「CocoaPods」を使用すると簡単です。最後にFirebase用のコードを2行追加します。
上記3工程でiOSアプリ側の設定は完了です。
これだけでFirebase Analyticsでの計測が可能になります。
Firebaseプロジェクト設定からiOSアプリにライブラリを追加するまでの工程は公式ドキュメントに詳しく書かれています。
どのような値が計測できるのか?
個人で作成したiOSアプリにFirebaseを組み込み、どのようなデータが取れるのか確認した結果が以下になります。(今回計測したアプリは利用ユーザー数が少ないので、計測して得られた情報の幅は大したものではありませんでした。)
Firebaseを組み込むだけで自動計測できる値は主に下記です。
アクティブユーザー
指定した期間のアクティブユーザー数です。日別、週別、月別で表示されます。今回計測したアプリでは、日別の違いは見られませんでした。
収益情報(アプリ内課金の情報)
ユーザーあたりの平均収益額(ARPU)と有料ユーザーあたりの平均収益額(ARPPU)が表示されます。今回計測したアプリには課金機能はないので、すべて0ドルで表示されています。
first_openの情報
アプリが初めて起動された回数とアプリを起動したユーザーのライフタイムバリューの値です。
インストール数ではないので、インストール数は「iTunes Connect」で確認します。
インストールしてもアプリを立ち上げない人もいるので、インストール数よりもこちらの数字の方が正確なアプリ利用者数がわかるかもしれません。
維持率コホート
アプリ利用の定着率が示されます。継続的にアプリを使用している人がどのくらいの割合でいるのかなどがわかります。 今回計測したアプリでは、インストール後2週目で利用しているユーザーの割合が10%なので、継続的に利用しているユーザーが少ないということがわかりました。
ユーザーエンゲージメント
エンゲージメントとはユーザーがアプリを利用した時間です。今回計測したアプリでは、アプリ利用時間が平均3分ととても短いので、アプリ内のコンテンツの量などに問題があるということがわかりました。
アプリのバージョン
上位3つの各アプリバージョンのユーザー数と、その他すべてのアプリバージョンとの合計ユーザー数が表示されます。新しいバージョンに移行した人がどのくらいいるのかがわかります。
デバイス
上位3つの各デバイスモデルのユーザーの割合と、その他すべてのデバイスを合計したユーザーの割合が表示されます。どのデバイスのどのバージョンで利用されているかがわかります。今回計測したアプリでは、OSバージョン10以上で利用している人が70%以上だということがわかりました。古いOSバージョンの対応をやめるタイミングなどに利用できそうです。
場所
各地域のセッション数の割合が表示されます。今回計測したアプリでは、イギリスで利用している方が最も多いということがわかりました。全く利用されていない地域なども確認できますので、アプリをローカライズする際などは参考にできそうです。
下記項目はiOSの広告識別子ID(IDFA)から取得しますので、iOSアプリに「GoogleIDFASupport」ライブラリを追加しないと取得できません。
ユーザー属性
年齢層別のユーザーの性別の割合が表示されます。今回計測したアプリでは、男性の利用者が多いということがわかりました。
インタレスト
ユーザーが興味のあるカテゴリが表示されます。今後アプリを改良する際などは参考になりそうです。
計測できるイベントについて
Firebaseを組み込むと自動で計測されるイベントはこちらで確認できます。
その他のイベントについてはFirebaseライブラリ内の「FIREventNames.h」で確認できます。 コード内のコメントは英語ですが、どのようなシーンで利用すべきかなどが書かれていますので参考にして設定してください。
下記画像は「select_content」イベントで得た情報です。
今回はアプリ内の画面が切り替わるタイミングでイベントを取得しました。
パラメータ「kFIRParameterContentType」には画面名を指定しています。
どの画面がよく見られているのかがわかります。
まとめ
iTunes ConnectにはAppアナリティクスというアプリ利用解析サービスがあります。
単純にアクティブ数や利用デバイス情報などが知りたい場合はAppアナリティクスで十分だと思います。
しかし、より詳しくアプリ独自の利用解析が行いたい場合や、Appleが出しているアプリ内課金の情報が正しいのか2重チェックする際などには Firebase Analyticsは使えます。
少ない手間で豊富な情報が得られますので、Firebase Analyticsを組み込んでおいて損はないと思いました。