Google Analytics iOS SDK を導入する手順を記録しておく。Cocoapods を使わない方針でやっていて、できるだけ新しいのを使いたいので、SDK のダウンロードからやる。基本的にドキュメント通りにやっていけばいいんだけど、自分なりのショートカットとして。3.15 でやった。
TrackingId を作成する
Google Analyticsで新規アカウントを作る。UA-xxxxxxxx-x
というような ID が出来上がる。
SDK をダウンロード
ファイルをプロジェクトに追加する
必要なライブラリを Linked Frameworks and Libraries に追加する
Bridging header に下記の import を書いておく。
#import "GAI.h"
#import "GAIDictionaryBuilder.h"
#import "GAIEcommerceProduct.h"
#import "GAIEcommerceProductAction.h"
#import "GAIEcommercePromotion.h"
#import "GAIFields.h"
#import "GAILogger.h"
#import "GAITrackedViewController.h"
#import "GAITracker.h"
利用してみる
準備
AppDelegate とか、利用開始のポイントで書く。
#if DEBUG
GAI.sharedInstance().logger.logLevel = GAILogLevel.Info
#endif
GAI.sharedInstance().trackerWithTrackingId(GoogleAnalytics.TrackingId)
GAI.sharedInstance().trackUncaughtExceptions = true
イベント
// category: String, action: String, label: String, value: Int?
let event = GAIDictionaryBuilder.createEventWithCategory(category, action: action, label: label, value: value)
let dictionary = event.build() as \[NSObject : AnyObject\]
GAI.sharedInstance().defaultTracker.send(dictionary)
画面
ViewController のインスタンスを渡した場合。とりあえずこんな感じで書いているけど、もっと良い書き方はありそう。
let subjectType = Mirror(reflecting: viewController).subjectType
let className = "\\(subjectType)"
let name = className.stringByReplacingOccurrencesOfString("ViewController", withString: "")
GAI.sharedInstance().defaultTracker.set(kGAIScreenName, value: name)
GAI.sharedInstance().defaultTracker.send(GAIDictionaryBuilder.createScreenView().build() as \[NSObject : AnyObject\])
とりあえず
簡単に準備できた。で、イベントや画面のコードをいちいち書いていたら面倒すぎるので、このままだと使えない。これは上手くハンドリングして(他のトラッキング系の SDK と統合的に使える)使う必要がある。プライベートなライブラリとして作ってあるけど、その話はまた今度にする。この記事の目的はとりあえず Google Analytics iOS SDK を使える状態にするところまで。