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を使える状態にするところまで。