[iOSアプリ開発]iOSアプリにGoogleAnalyticsを導入しよう!

あなたの開発したアプリケーションにおいて、ユーザーがどのような行動をしているのか、またどの程度アクセスがあるのか、などを解析するためにAnalyticsを導入する方法について紹介します。

では、早速はじめましょう!!

 

1,Google Analytics SDKの導入


まずは、SDKを導入しましょう。
nstall a Google SDK using CocoaPods

cocoapodsを利用してSDKをインストールします。

1.1 あなたの開発しているプロジェクトの階層に移動します。

cd myproject

1.2 次にcocoapodを初期化します。

<br />
pod init<br />

1.3 projectに生成されたpodfileに以下の記述を追加します。

スクリーンショット 2016-06-11 22.49.42

<br />
# Uncomment this line to define a global platform for your project<br />
# platform :ios, '9.3'<br />
# Uncomment this line if you're using Swift<br />
# use_frameworks!</p>
<p>target 'CollectionViewWaterfallLayoutDemo' do</p>
<p>pod 'GoogleAnalytics'</p>
<p>end<br />


1.4インストール

<br />
pod install<br />

インストールが完了したらこのようなプロジェクトファイルができていることを確認し、こちらをクリックしてプロジェクトを開き直します。

スクリーンショット 2016-06-11 22.58.51

1.5 この状態では、GoogleAnalyticsをプロジェクトに上手く読み込めないので、bridgeファイルを作成し、importできるように設定していきます。

xcodeプロジェクトの左下の「+」ボタンをおして、App-Bridging-Header.hを作成し、以下のように内容を記述します。

<br />
#ifndef App_Bridging_Header_h<br />
#define App_Bridging_Header_h</p>
<p>#import &amp;lt;GoogleAnalytics/GAI.h&amp;gt;<br />
#import &amp;lt;GoogleAnalytics/GAIFields.h&amp;gt;<br />
#import &amp;lt;GoogleAnalytics/GAILogger.h&amp;gt;<br />
#import &amp;lt;GoogleAnalytics/GAITracker.h&amp;gt;<br />
#import &amp;lt;GoogleAnalytics/GAIDictionaryBuilder.h&amp;gt;</p>
<p>#endif /* App_Bridging_Header_h */<br />

さらに、プロジェクト→targetを選択→Build Settingに進み、Swift Compiler – Code Generationエリアにて、Objective-C Bridging Header の項目にApp-Bridging-Header.hファイルのパスを設定して、プロジェクトをクリーン(cmd+k)します。

スクリーンショット 2016-06-11 23.15.54

 

2,Analyticsにアプリを登録する。


2.1 アプリ情報を登録

以下のリンクにアクセスし、必要な情報を登録していきます。

Create or choose an app

スクリーンショット 2016-06-11 23.02.32

2.2 次にanalyticsを紐付けるための情報を登録します。
スクリーンショット 2016-06-11 23.05.25

Analyticsのアイコンを選択し、情報を入力すると以下のように登録が完了します。
スクリーンショット 2016-06-11 23.04.32

下のほうにスクロールしていくと、[Generate configuration files]があるので、こちらをクリックします。

スクリーンショット 2016-06-11 23.07.37

2.3  configuration filesを取得します。
スクリーンショット 2016-06-11 23.07.46

上の「Download」ボタンをクリックすると、[GoogleService-Info.plist]を取得することができます。

2.4このGoogleService-Info.plist をプロジェクトにドラッグドロップで追加します。

スクリーンショット 2016-06-11 23.11.28

 

3,Analyticsと連携していきます。


3.1 Analytics連携のセットアップ

AppDelegate.swiftのにて以下のコードを追加します。
GoogleService-Info.plistからanalytics情報を取得し、セットアップします。

<br />
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -&amp;gt; Bool {</p>
<p>        let gai = GAI.sharedInstance()<br />
        gai.trackUncaughtExceptions = true</p>
<p>        if let path = NSBundle.mainBundle().pathForResource(&quot;GoogleService-Info&quot;, ofType: &quot;plist&quot;) {<br />
            if let propertyList = NSDictionary(contentsOfFile: path) as? [String: AnyObject] {<br />
                let trackingId = propertyList[&quot;TRACKING_ID&quot;] as! String<br />
                gai.trackerWithTrackingId(trackingId)<br />
            }<br />
        }</p>
<p>        return true<br />
    }<br />

3.2 各スクリーンビュー(アプリ内の各ビュー)のユーザー行動を取得するための設定

プロジェクトファイルの左下の「+」ボタンから新規ファイルGATrackingManager.swift を作成し、以下のコードを記述します。

<br />
import Foundation</p>
<p>class GATrackingManager {</p>
<p>    class func sendScreenTracking(screenName: String) {<br />
        let tracker = GAI.sharedInstance().defaultTracker<br />
        tracker.set(kGAIScreenName, value: screenName)<br />
        tracker.send(GAIDictionaryBuilder.createScreenView().build() as [NSObject: AnyObject])<br />
        tracker.set(kGAIScreenName, value: nil)<br />
    }</p>
<p>}<br />

 

3.3 各スクリーンビューを管理しているコントローラーにて、スクリーンビュー名を設定

たとえば、ViewController.swiftにて

 

<br />
override func viewWillAppear(animated: Bool) {<br />
        super.viewWillAppear(true)<br />
        // スクリーンビューの設定<br />
        GATrackingManager.sendScreenTracking(&quot;toppage&quot;)<br />
    }<br />

のように記述することで、このページはtoppageとしてAnalyticsで監視できます。

 

4,Analyticsとの連携確認

4.1 Analyticsのダッシュボード画面にいき、 リアルタイムサマリーを開きます。
スクリーンショット 2016-06-11 23.31.49

4.2 リアルタイムアクセスが1になっていれば、連携ができていることが確認できます。

スクリーンショット 2016-06-11 23.34.58

 

参考:http://qiita.com/ysk_1031/items/245ff929ea76f0eda11d