[swift]挫折しながら覚えるiOS開発その13 GoogleAnalyticsの組み込み


前回はiAdの組み込みを行いました。

今回はGoogleAnalyticsの組み込みを行ってみます。

1. Podfileに追加

まずはPodfileにGoogleAnalyticsを追加します。

# Podfile

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

pod 'Alamofire', '~> 1.2'
pod 'SDWebImage'
pod 'GoogleAnalytics'

そして、pod installを実行

2. Bridging-HeaderにAnalyticsのimport設定を追加

Bridging-Headerの導入に関しては、その5の記事にまとめています。

weeqiita-Bridging-Header.hにAnalyticsのimport設定を追加します。

# weeqiita-Bridging-Header.h

#import <GoogleAnalytics/GAI.h>
#import <GoogleAnalytics/GAIFields.h>
#import <GoogleAnalytics/GAILogger.h>
#import <GoogleAnalytics/GAIDictionaryBuilder.h>

これでAnalyticsのimportができました。

3. AppDelegateにAnalytics設定を追加

アプリ起動時にAnalyticsの基本設定を読み込むようにします。

# AppDelegate.swift

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    // analytics
    class func setupGoogleAnalytics() {
        GAI.sharedInstance().trackUncaughtExceptions = true;
        GAI.sharedInstance().dispatchInterval = 20
        GAI.sharedInstance().logger.logLevel = .Warning //.Verbose
        GAI.sharedInstance().trackerWithTrackingId("UA-XXXXXX-XX")
    }

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        // Override point for customization after application launch.

        // ...

        // analytics
        AppDelegate.setupGoogleAnalytics()

        return true
    }
}

4. BaseControllerでトラッキングするように設定

一覧ページと詳細ページはBaseViewControllerを継承しているので、BaseViewControllerのviewWillAppearメソッドにトラッキング設定を書いておくと、ユーザがどの画面を見ているかをトラッキングできるようになります。

# BaseViewController.swift

class BaseViewController: UIViewController {
  override func viewWillAppear(animated: Bool) {
      super.viewWillAppear(animated)

      // analytics
      var tracker = GAI.sharedInstance().defaultTracker
      let screenName = reflect(self).summary
      tracker.set(kGAIScreenName, value: screenName)
      let params = GAIDictionaryBuilder.createScreenView().build() as [NSObject : AnyObject]
      tracker.send(params)
  }
}

これでAnalyticsの導入ができました。

5. 確認

GoogleAnalyticsにアクセスし、リアルタイムのアクセス確認ページを開いておきます。

この状態でシミュレータを起動し、リアルタイムユーザが1になるかどうかを確認します。

swift13-1

リアルタイムユーザがきちんと増えれば、Analyticsの組み込み成功です。

次回はネットワーク未接続時のAlert表示等、細かい調整を行います。

それが終われば、いよいよ申請です。

参考