すごいかすかな記事ですが。。Google Analyticsは面倒臭いなぁという感じがあって触っていなかったのですが、久しぶりにCocoapodsで導入してみたら一瞬でしたw 良い記事もあるし、本当に最近は環境いいですね!
ちなみに参考にした記事はこの2つのみ。
- Objective-C で Google Analytics SDK 3 をセットアップする手順 - bekkou68の日記
- GoogleAnalytics - Google Analytics SDK for iOS v3の導入方法と使い方 - Qiita
1つめの記事は短い簡単なミニマムコードが載ってます。これ見てやれば3分くらいで実装終了します。2つめの記事は本当に丁寧にGoogle Analyticsの設定のところから解説してくれます。
で、僕のおすすめはまずはミニマムコードのほうをいじってみる。その後、2つめをさらっと眺めるという感じかなと思います。ミニマムコードって本当に価値があります!これで感覚つかめます。
僕の実装メモ
僕の実装の一部をメモに残しておきます。仕事終わりに久しぶりに上記の記事をざっと眺めて書いただけで、まだまだ他に良い方法があると思いますが。
Podfile
platform :ios,‘7.0’
pod ‘GoogleAnalytics-iOS-SDK’, ’~> 3.0.9’
AppViewController.m
@implementation AppViewController
- (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; [self trackScreen:NSStringFromClass(self.class)]; }
pragma mark - Google Analytics
- (void)trackScreen:(NSString *)screenName { [[GAI sharedInstance].defaultTracker set:kGAIScreenName value:screenName]; [[GAI sharedInstance].defaultTracker send:[[GAIDictionaryBuilder createAppView] build]]; }
- (void)trackEvent:(NSString *)category action:(NSString *)action label:(NSString *)label value:(NSNumber *)value { [[GAI sharedInstance].defaultTracker send:[[GAIDictionaryBuilder createEventWithCategory:category action:action label:label value:value] build]]; }
@end
とりあえず、これを継承しておけばUIViewController単位で勝手にscreenのtrackerが送られます。2つめの記事のTrackerManagerも良いと思います。UICollectionViewとか複数のビューの親クラスを作るときには、TrackerManagerにAnalyticsのコードをまとめて、上記と同じように親クラスのところで利用すれば良いと思います。
今回はSpriteKitで今のところUIViewController 1つしか使ってないのでとりあえずこれでいいや。てか、ブログ書く時間にそれ作れたけど。
- 追記: AnalyticsHelperっての作ったw
- 追記: AnalyticsHelperにinitializeのメソッドとか全部まとめると快適&ボタンの親クラスにイベント書いておけば全てのボタンでイベントが飛ばせる。楽だわ。