Google Analytics iOS SDKをCocoapodsを利用しないで設定するメモ

April 11, 2016

Google Analytics iOS SDK を導入する手順を記録しておく。Cocoapods を使わない方針でやっていて、できるだけ新しいのを使いたいので、SDK のダウンロードからやる。基本的にドキュメント通りにやっていけばいいんだけど、自分なりのショートカットとして。3.15 でやった。

TrackingId を作成する

Google Analyticsで新規アカウントを作る。UA-xxxxxxxx-xというような ID が出来上がる。

SDK をダウンロード

Google Analytics Services SDK

ファイルをプロジェクトに追加する

GAI h

必要なライブラリを Linked Frameworks and Libraries に追加する

Arrows xcodeproj

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


Profile picture

Written by morizotter who lives and works in Tokyo building useful things. You should follow them on Twitter