Google Analytics SDK for iOS V2(バージョン2)のマクロを作ってみた

やぁ。鳥だ。

iOS向けのGoogle Analytics SDKの、バージョン2のベータ版が出たわけさ。

何が嬉しいって、専門になってアプリ、OSのバージョンのトラッキングをしてくれるようになったわけさ〜。
それに、ソーシャルやら色々とトラッキングできるよーになったっ
Androidに限って言えば、Playストアからのアクセスも見られちゃう。

ちなみにバージョン1のほうは過去の記事を参照してねん。

で、一式マクロを作ってみたよ。

最初に呼び出す初期化マクロ。
PERIODは溜まったログをGoogle Alanyticsに吐き出す間隔ね。秒単位。

#ifdef DEBUG
#define GA_INIT_TRACKER(ACCOUNT, PERIOD) { \
[GAI sharedInstance].trackUncaughtExceptions = YES; \
[GAI sharedInstance].dispatchInterval = PERIOD; \
[GAI sharedInstance].debug = YES; \
id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:ACCOUNT]; \
tracker.useHttps = true; \
}
#else
#define GA_INIT_TRACKER(ACCOUNT, PERIOD) { \
[GAI sharedInstance].trackUncaughtExceptions = YES; \
[GAI sharedInstance].dispatchInterval = PERIOD; \
[GAI sharedInstance].debug = NO; \
id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:ACCOUNT]; \
tracker.useHttps = true; \
}
#endif

イベントをトラッキングするマクロ。
これはほぼバージョン1系と一緒。

#define GA_TRACK_EVENT(EVENT,ACTION,LABEL,VALUE) [[[GAI sharedInstance] defaultTracker] trackEventWithCategory:EVENT withAction:ACTION withLabel:LABEL withValue:VALUE];

ユーザーが何秒その画面に居たかを記録するマクロ。
TIMEで指定した秒数分いた場合に記録されるよっ
(居た時間が記録されるわけではない点に注意)

#define GA_TRACK_TIMING(CATEGORY,TIME,NAME,LABEL) [[[GAI sharedInstance] defaultTracker] trackTimingWithCategory:CATEGORY withValue:TIME withName:NAME withLabel:LABEL];

ソーシャルトラッキング
現時点では記録が見れる画面は無いよ。

#define GA_TRACK_SOCIAL(NETWORK,ACTION,TARGET) [[[GAI sharedInstance] defaultTracker] trackSocial:NETWORK withAction:ACTION withTarget:TARGET];

クラスのトラッキング。呼びたい部分で「GA_TRACK_CLASS」って書く。

#define GA_TRACK_CLASS GA_TRACK_PAGE(NSStringFromClass([self class]));

メソッドのトラッキング
呼びたいメソッドのどっかで「GA_TRACK_METHOD」と書く。

#define GA_TRACK_METHOD GA_TRACK_EVENT(NSStringFromClass([self class]), NSStringFromSelector(_cmd), @"", [[NSNumber alloc] initWithInt:-1]);

ページ(画面?Googleはスクリーンと呼んでる)のトラッキング
呼びたいビューのviewDidLoadの最初とか最後とかで「GA_TRACK_PAGE(@"ページ名")」。

#define GA_TRACK_PAGE(PAGE) [[[GAI sharedInstance] defaultTracker] trackView:PAGE];

例外系が結構ややこしくなってるので省いてる。

また、EC向けの設定もあるけど、それはマクロにするとややこしくなるだけなので、本家を見てね〜。

本家: Google Analytics SDK for iOS v2 - Overview - Google Analytics - Google Developers

えぇ、難点としてはカスタム変数のトラッキングが無くなってるとこね。。

でわでわ。