環境
- Xcode: 7.2
- GoogleAnalytics: 3.14.0
ライブラリのインストール
- ここを参考に実装をすすめる
cocoaPods
を利用する
Podfile
は以下の通り
source 'http://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
pod 'Google/Analytics', '~> 1.0.0'
target 'プロジェクト名' do
end
設定ファイルの作成
- ここの「設定ファイルを取得」から作成
- プロジェクトに追加する
アナリティクスの初期化
BridgingHeaderの追加
ナビゲータエリア > プロジェクト名のフォルダを右クリック > New File... > iOS > Source > Header File
からヘッダーファイルを追加(ファイル名: プロジェクト名-Bridging-Header.h
)
TARGETS > プロジェクト名 > Build Settings > Swift Compiler - Code Generation > Objective-C Bridging Header
に$(SRCROOT)/$(PRODUCT_NAME)/プロジェクト名-Bridging-Header.h
を追加
- ヘッダーファイルの中身は
#import <Google/Analytics.h>
とする
didFinishLaunchingWithOptionsに設定追加
- 参考通りに以下のコードを追加 (Xcodeの指示で
var
をlet
に変更)
var configureError:NSError?
GGLContext.sharedInstance().configureWithError(&configureError)
assert(configureError == nil, "Error configuring Google services: \(configureError)")
let gai = GAI.sharedInstance()
gai.trackUncaughtExceptions = true
gai.logger.logLevel = GAILogLevel.Verbose
- 参考通りに
willAppear
を追加
- 参考には
let name = "Pattern~\(self.title!)"
で名前を取り、valueにname
をいれていたが、fatal error: unexpectedly found nil while unwrapping an Optional value
とエラーが出てしまうため、文字列を入力する形にした
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(true)
let tracker = GAI.sharedInstance().defaultTracker
tracker.set(kGAIScreenName, value: "ViewController")
let builder = GAIDictionaryBuilder.createScreenView()
tracker.send(builder.build() as [NSObject : AnyObject])
}