今回 iOS/Android版のデモアプリに対して上記を組み込みしましたので、それについて簡単に書きます。
モバイルアプリ用 Google Tag Manager について
https://www.google.com/intl/ja/analytics/tag-manager/
Google タグマネージャと Google のモバイル デベロッパー向けプラットフォーム Firebase を組み合わせると、マーケティング チームと開発チームの連携がかつてないほど容易になります。たとえば、デベロッパーは Firebase 向け Google アナリティクス のイベントを使用し、アプリのほとんどの操作をトラッキングできます。一方、マーケティング担当者はタグマネージャの使いやすい管理画面からイベントに修正を加え、Firebase 向け Google アナリティクス、Google アナリティクス、Kochava、Tune、Adjust などの分析ソリューションにイベントを転送することもできます。Google タグマネージャの更新内容はインストール済みのアプリに送信されるので、測定機能の設定を動的に更新できます。
アプリへの組み込み
iOSアプリへの組み込み
- 今回はこのドキュメントに従って組み込みしました: https://developers.google.com/tag-manager/ios/v5/
Androidアプリへの組み込み
- 今回はこのドキュメントに従って組み込みしました: https://developers.google.com/tag-manager/android/v5/
Firebase Analytics で自動的に記録されるイベント
Firebase Analytics は、アプリ独自のイベントトラッキング処理の実装なしでイベントやプロパティを自動でログ送信する機能があります。
自動で記録されるイベントやパラメータはこちら: https://support.google.com/firebase/answer/7061705?hl=ja
Firebase Analytics で自動的に収集されるイベントを使った場合は、アプリのコードで定義しているクラス名がスクリーンクラスとして送信されました。
上記のスクリーンショットは参考のために貼りましたが、アプリ独自のイベントトラッキングを実装した後のものなので色々と表示されています。
web view をたくさん使っているアプリでは、共通のweb view画面が表示されたことはわかりますが、アプリ内のどの画面が開かれたのかを判別することはできません。この場合は、アプリ独自でイベントトラッキング処理を実装する必要がありそうです。
iOSアプリへの組み込み手順とGTMの設定
GTM経由でGoogleアナリティクスへのスクリーントラッキングをiOSアプリへ実装しました。その時の対応内容を順を追って書きます。
Firebase SDK をインストールします
ブラウザから Firebase 管理画面 https://console.firebase.google.com/ を開いてプロジェクトを作成します (バンドル ID を入力する必要があります)
Firebase 管理画面から GoogleService-Info.plist をダウンロードしてXcodeプロジェクトルートに追加します
Podfile に下記を追加して pod install します
pod 'Firebase/Core'
Xcodeプロジェクトを開いて Firebase の起動処理を追加します
UIApplicationDelegate: に Firebase module をインポートします
import Firebase
application:didFinishLaunchingWithOptions: メソッドに FirebaseApp shared instance を設定します
FirebaseApp.configure()
Google Tag Manager を追加します
Podfile に下記を追加して pod install します
pod 'GoogleTagManager', '~> 6.0'
ブラウザから Tag Manager 管理画面 https://tagmanager.google.com/ を開いてコンテナを作成します (SDK バージョンは Firebase(iOS版)を選択します)
Tag Manager 管理画面のトップナビゲーションバーからバージョンを開いて、アクション>ダウンロードからコンテナファイル(json)をダウンロードし、Xcodeプロジェクトに追加します
ロギングを実装します
Google Tag Manager は Fireabse Analytics のイベントやパラメータを使います。
今回は下記のようにしてカスタムイベントを送信します。
Analytics.logEvent("open_screen", parameters: [
"screen_name": self.screenName
])
Google Tag Manager のコンテナに変数を追加します
- カスタムパラメータのイベントパラメータキーには、上記のロギングで指定した screen_name を入力します
Google Tag Manager のコンテナにトリガーを追加します
Google Tag Manager のコンテナにタグを追加します
コンテナを公開します
上記の内容を保存したら画面右上の公開ボタンを押します。公開すると、最新のコンテナファイル(json)をダウンロードできますので、先ほど追加したコンテナファイル(json)と差し替えます。
デバッグロギング
デバッグロギングを有効にするには -FIRAnalyticsDebugEnabled を起動時変数に追加します
シュミレータからアプリをアンインストールしてから実行します(実機からの実行だとうまく動作しませんでした)
以下のようにログが表示されます
2018-03-01 16:02:52.487689+0900 Prototype[93594:3549898] GoogleTagManager info: Sending universal analytics hit: {...}
すると Google アナリティクスのリアルタイムに表示されます
- また、FirebaseのDebugViewにも表示されます
※ Google Tag Manager、Firebase では新しいSDKが随時公開されていますので、実装の際は最新の情報を参照しましょう。