CocoaPodsのインストールと設定
基本的には以下、公式のページを参考にする
https://developers.google.com/analytics/devguides/collection/ios/v3/?ver=swift&hl=ja
ターミナルで自分のプロジェクト配下に移動
$cd hogehoge
CocoaPodsのインストール
$ pod init
$ pod install
完了だと問題ないが、「Updating local specs repositories」って出て終わらない場合、以下のようにする
$ pod repo remove master
Removing spec repo master
$ pod setup
Setting up CocoaPods master repo
Setup completed
5分近くかかるので気長に待つこと
無事に完了したら、Podfileを書き換える。
※「pod 'GoogleAnalytics'」がGoogle Analyticsを使いますよっていう記述になる
vi Podfile
# Uncomment this line to define a global platform for your project
platform :ios, '8.0'
# Uncomment this line if you're using Swift
use_frameworks!
target 'PJ名' do
pod 'GoogleAnalytics'
end
target 'PJ名Tests' do
end
target 'PJ名UITests' do
end
設定ファイルの取得と設定
公式ページに移動して「設定ファイルを取得」をクリックし、アプリを作成する
https://developers.google.com/analytics/devguides/collection/ios/v3/?ver=swift&hl=ja
最終的に「GoogleService-Info.plist」っていうファイルがDLできたらOK
「GoogleService-Info.plist」をXCode上で「Info-plist」と同じ階層(ルート)にコピーする
※この時、TargetsでPJ名にチェックをつけることを忘れずに
GoogleAnalyticsを設定する
以下ページを参考にしました。
http://qiita.com/ysk_1031/items/245ff929ea76f0eda11d
初期設定
まず、アプリ内でGoogleAnalticsを利用できるように、AppDelegate.swiftで初期化設定。
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// G/A初期設定
let gai = GAI.sharedInstance()
gai.trackUncaughtExceptions = true
if let path = NSBundle.mainBundle().pathForResource("GoogleService-Info", ofType: "plist") {
if let propertyList = NSDictionary(contentsOfFile: path) as? [String: AnyObject] {
let trackingId = propertyList["TRACKING_ID"] as! String
gai.trackerWithTrackingId(trackingId)
}
}
(略)
}
end
トラッキングできるようにする設定
import Foundation
class GATrackingManager {
class func sendScreenTracking(screenName: String) {
let tracker = GAI.sharedInstance().defaultTracker
tracker.set(kGAIScreenName, value: screenName)
tracker.send(GAIDictionaryBuilder.createScreenView().build() as [NSObject: AnyObject])
tracker.set(kGAIScreenName, value: nil)
}
class func sendEventTracking(Category: String, Action: String, Label: String) {
let tracker = GAI.sharedInstance().defaultTracker
tracker.send(GAIDictionaryBuilder.createEventWithCategory(Category, action: Action, label: Label, value: nil).build() as [NSObject: AnyObject])
}
}
※参考ページはスクリーントラッキングのみだったので、イベントトラッキングもできるように追記しました
トラッキングイベントを設定する
スクリーントラッキング
import UIKit
class ViewController: UIViewController {
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
GATrackingManager.sendScreenTracking("スクリーン名")
}
end
イベントトラッキング
import UIKit
class ViewController: UIViewController {
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
GATrackingManager.sendEventTracking("カテゴリ名", Action: "アクション名", Label: "ラベル名")
}
end