アプリの利用解析を行う際に、Googleアナリティクス(Firebase Analytics)を利用するケースは良くあります。MonacaはWebViewで動作はしますが、JavaScript版ではなくCordovaプラグイン版を使ってデータを収集するのが基本です。
今回はそのためのプラグインCordova plugin for Firebase Analyticsを利用する方法を解説します。
Firebaseプロジェクトの作成
まずFirebaseでプロジェクトを作成し、アナリティクスを有効にします。
そしてAndroid、iOSをそれぞれ追加します。そうすると、以下のファイルがダウンロードできます。
- google-services.json
- GoogleService-Info.plist
Monacaプロジェクトの作成
今回は最低限のテンプレートを利用しています。まずCordovaプラグインをインストールします。cordova-plugin-firebase-analyticsを指定してインストールします。指定する方法は、URL 「https://github.com/kalaiprakash93/cordova-plugin-firebase-analytics.git」 を下の画像のように設定してください。
ついで、Monacaプロジェクトのルートに先ほどダウンロードしたgoogle-services.jsonとGoogleService-Info.plistをアップロードします。
最後にconfig.xmlを開いて、下記の2文を追加します。
<platform name="android">
<!-- 以下を追加 -->
<resource-file src="google-services.json" target="app/google-services.json" />
<!-- 以下略 -->
</platform>
<!-- 中略 -->
<platform name="ios">
<!-- 以下を追加 -->
<resource-file src="GoogleService-Info.plist" />
<!-- 以下略 -->
</platform>
これで準備は完了です。
アプリをビルドし、スマートフォンにインストールします。コードを修正したりすることを考えるとカスタムデバッガービルドがお勧めです。ビルド前にはアプリのID設定などは行ってください。
実際の動作について
Cordovaアプリが有効になったタイミングで処理を行います。
const event = window.cordova ? 'deviceready' : 'DOMContentLoaded';
document.addEventListener(event, (e) => {
if (!window.cordova) return;
// この中で処理記述
});
見ている画面を記録する
setCurrentScreen
メソッドで現在見ている画面を記録できます。
画面毎に記録することで、最もよく使われている画面や遷移、どこでドロップしているかなどを記録できます。
cordova.plugins.firebase.analytics.setCurrentScreen("Home");
ユーザー情報を記録する
setUserId
でユーザーID(自社管理のもの)を記録できます。
なお、これはプライバシーに関わる可能性があるので、各プラットフォームのプライバシーポリシーに沿う形で設定しましょう。
cordova.plugins.firebase.analytics.setUserId("1");
イベントの記録
logEvent
でイベントを記録できます。追加のパラメーターも送信できますが、Googleアナリティクスのどの画面で確認できるかが分かりませんでした。
cordova.plugins.firebase.analytics.logEvent("launch", {param1: "ios"});
まとめ
後はボタンをタップしたタイミングや画面遷移したタイミングなどにコードを仕込むことで、アプリの利用状況を解析できます。
データが増えすぎるのも問題なので、必要な部分に仕込んでおくのが良いでしょう。