Google AnalyticsでiOS(iPhone/iPad)アプリのバージョンをトラッキングする、ほか

はぁい、鳥さんだよ。

本題をトラッキング方法にしようと思ったけど、ちょっと変更w

2012/09/22追記:Ver 2系はこちらの新しい記事を参考にしてね!

Google AnalyticsiOSアプリをトラッキングする方法

まずはGoogle AnalyticsiOSアプリをトラッキングする方法を紹介するよっ

Google Analyticsで取れるログはふつーのウェブサイトのトラッキングと同じで、以下のトラッキングが可能だよ。

と書いてみたものの、もう去年だし、わりと記事が出回ってたので、この辺は記事紹介に留めるのである。

Google Analyticsでの設定から、iOS SDKでのアプリへの設定まできちんと解説してる記事:
10分でわかるGoogle Analytics SDK for iOS - murapongの日記

ちなみに、今は「ウェブサイト以外」という設定ができてるので、アプリの場合はそれを使うといいよっ
あと、iOSアプリは一旦データを貯めこんで一定期間ごとにポイっと投げるので、リアルタイム解析でも、ふつーのウェブサイトよりかは反映がちっと遅めだよっ

また、Google Analyticsの時計を使うのではなく、iOSバイスの時計を使うので、時間はデバイスごとにわりとブレるよん。(誤差が出る)

便利マクロが載ってるSlideShare
iPhoneアプリのアクセス解析Google Analytics SDK for iOSについて - ninjinkunの日記
ちょっと誤記があるので、そのままでは使えにゃい。
クラスはページとして、メソッドはイベントとしてトラッキングされるマクロだよん。

初期化マクロはこちら:
iPhoneアプリの使用状況をGoogle Analytics for iOSで解析する | へびにっき

簡単に説明すると、以下の手順。

  1. Google Analyticsでアプリ用のアカウント作る
  2. Google AnalyticsでGA SDKをダウンロードする
  3. Xcodeで作ってるプロジェクトに、GA SDKを追加
  4. アプリに「CFNetwork.framework」と「libsqlite3.0.dylib」 を追加
  5. 「<プロジェクト名>-Prefix.pch」 で 「GANTracker.h」 をインクルードして、 各種マクロをペタペタ貼る
  6. アプリの「didFinishLaunchingWithOptions」で「GA_INIT_TRACKER」する
  7. 途中でマクロを使って便利に計測
  8. アプリの最後「dealloc」で「[[GANTracker sharedTracker] stopTracker];」する

ちなみに、同梱されているlibGoogleAnalytics_NoThumb.aは、現時点では"_OBJC_CLASS_$_GANAdHitIdGenerator"が無いってリンカーでエラーメッセージが出るので使えないよ〜。

Google AnalyticsiOSのバージョンをトラッキングする方法

で、ここからやっと本題。

現時点では、GoogleAnalyticsはiPadiPhoneかだけをトレースして、そのバージョンまでは判別してくんないわけで。Google アナリティクスでiOSのバージョンを確認する方法 | MOL の結果とかここギコ!: Google Analytics SDK for iOSでUserAgentの変更の方法で勝手にUAを変更して確認する限りでは、そもそもiOS類のバージョン自体をまだトラッキングしてくんないらしい。

てわけで、iOSのバージョンは手動でカスタム変数を使ってトラッキングする。その方法は以下のとおりだね。

UIDevice *cd = [UIDevice currentDevice];
NSError *error;
if (![[GANTracker sharedTracker] setCustomVariableAtIndex:1 name:cd.model value:cd.systemVersion withError:&error]) {
NSLog(@"%@",error.helpAnchor);
}

ちなみに、流行(?)のマクロにすると、こんな感じ〜。

#define GA_TRACK_VER { UIDevice *cd = [UIDevice currentDevice]; NSError *error; if (![[GANTracker sharedTracker] setCustomVariableAtIndex:1 name:cd.model value:cd.systemVersion withError:&error]) { NSLog(@"%@",error.helpAnchor); }  };

GA_TRACK_INITの後にGA_TRACK_VERをセットしとくと、バージョン情報が取れるようになるよっ つまり、手順のNo.6のすぐ後だね〜。

あ、この場合はカスタム変数の1番に記録するよ。
他の番号のカスタム変数を使用したい場合は、「setCustomVariableAtIndex:1」の番号を1からその番号に変更してね〜。
ちなみに、フリー版のGoogle Analyticsだと、現時点で使えるカスタム変数の数は5つまでだよ〜。

参考

でわでわ。