簡単なサンプルiOSアプリを作って、Google アナリティクスのタグ実装からテスト計測まで確認しましたので、その方法をご紹介します。
今回はObjective-cの環境で実装しています。Swiftでの実装方法はGoogleからまだ公開されていないようです。
目次(ページ内リンク)
今回検証した環境
SDKのバージョンが変わると、上手くいかない場合があるので念のため。
- PC : OS X Yosemite 10.10.3
- iPhone 5S : iOS 8.2
- Xcode : 6.3
- 言語 : Objective-c
- Google アナリティクス SDK : 3.08
Google アナリティクス iOSアプリ計測用のプロパティの作成
iOSアプリを計測するには、iOSアプリ用のGoogleアナリティクスの「プロパティ」を新設する必要があります。そのため以下の方法でプロパティを作成してください。
- 新規アカウントを作成して、iOS用のプロパティを作成する
- 既存アカウントに、iOS用のプロパティを追加する
Google アナリティクス
新しいプロパティを作成する際には、トラッキング対象に「モバイル アプリ」を選択します。
作成したプロパティからトラッキングIDを確認します。(UA-XXXXXXXX-X)
続いて、SDKをダウンロードします。
Google アナリティクス iOS SDKのダウンロード
以下のページから最新のGA iOS SDKをダウンロードします。
ここでは、バージョン3.08をダウンロードしています。
バージョンによって手順が異なる可能性がありますのでご注意ください。
ダウンロード - iOS SDK - Google アナリティクス — Google Developers
Xcodeを使ったアプリの作成
今回は、ボタンが1つあるだけのシンプルなアプリを作成して、Google アナリティクスを実装していきます。
プロジェクトを「Single View Application」で新しく作成します。
言語は、「Objective-C」で作成します。
swiftは実装方法が異なります。
ダウンロードしたSDKをプロジェクトに追加します。
「New Group」から「GALibrary」というグループを作成してそこに必要なファイルをすべて格納します。
追加します。
「Copy items if needed」にチェックが付いていることを確認します。
「Linked Frameworks and Libraries」に以下の項目を追加します。
画面左のナビゲーションエリアからプロジェクト名 > General > Linked Frameworks and Libraries
※公式ガイドでは「libsqlite3.dylib」が抜けているので注意です。
- libGoogleAnalyticsServices.a
- AdSupport.framework
- CoreData.framework
- SystemConfiguration.framework
- libz.dylib
- libsqlite3.dylib
続いてファイルを編集していきます。
AppDelegate.mにインポート文を追記します。
#import "AppDelegate.h" #import "GAI.h" //追加 @interface AppDelegate ()
AppDelegate.mのapplication didFinishLaunchingWithOptionsメソッドに以下のコードを追記します。
UA-XXXX-Y部分は、前のステップで作成したトラッキングIDに変更します。
// Optional: automatically send uncaught exceptions to Google Analytics. [GAI sharedInstance].trackUncaughtExceptions = YES;// Optional: set Google Analytics dispatch interval to e.g. 20 seconds. [GAI sharedInstance].dispatchInterval = 20; // Optional: set Logger to VERBOSE for debug information. [[[GAI sharedInstance] logger] setLogLevel:kGAILogLevelVerbose]; // Initialize tracker. Replace with your tracking ID. [[GAI sharedInstance] trackerWithTrackingId:@"UA-XXXX-Y"];
ViewController.hファイルを更新します。
#import <UIKit/UIKit.h> #import “GAITrackedViewController.h” //追記 @interface ViewController : GAITrackedViewController //更新 @end
ViewController.mファイルに追記します。
スクリーン名は任意の名前に変更していください。
ここでは、「スクリーンが表示されました!」としています。
//追記 - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; self.screenName = @"スクリーンが表示されました!"; }
イベントトラッキングを設定する場合
ボタンなどのタップ回数を計測する場合にはイベントトラッキングを使用します。
ここでは、スクリーンにボタンを追加して、ボタンクリック回数を計測する場合を例にご説明します。
ボタンを設置してコードに記述する手順
- MainStoryboardを開きます。
- ユーティリティエリアからButtonを選んでMainStoryboardに配置します。
- Assistant Editorを開いて、MainStoryboardとViewController.mを表示します。
- Buttonをクリックして、[control]を押しながらButtonをViewController.mに配置します。
該当メソッドファイル(XXXX.m)にインポート文を追加します。
#import "GAIDictionaryBuilder.h" #import "GAI.h"
該当メソッドファイル(XXXX.m)のアクション部分にコードを追加します。
イベントカテゴリ、イベントアクション、イベントラベルは、適当なものに変更してください。
id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker]; [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"イベント発生!" // Event category (required) action:@"ボタンが押されました。" // Event action (required) label:@"play" // Event label value:nil] build]]; // Event value
iPhoneでのアプリ実行
ここでは、Macbookに接続したiPhoneを出力先に設定して検証しています。
Product > Run からアプリを実行します。
シミュレーターを起動します。(スクリーン表示)
起動したスクリーン上の「Button」をタップしてイベントを発生させます。
Google アナリティクスによるリアルタイム計測
Googleアナリティクスの該当プロパティのレポート画面を開きます。
リアルタイムの「スクリーン」を開きます。
レポート画面に設定したスクリーン名が表示されていれば、計測成功です。
表示されない場合は、再度アプリを起動させてください。
続いて、イベントの計測を確認します。
リアルタイム > イベントを開きます。
ボタンをタップして、設定したイベント名を計測されていれば成功です。
リアルタイムリアルタイムではあるものの、Google アナリティクスの仕様で意図的にデータ送信を遅延させているようです。
参考ページ
iOS 向け Google アナリティクス SDK v3 - ご利用方法 - Google アナリティクス — Google Developers
イベント トラッキング - iOS SDK - Google アナリティクス — Google Developers
鳥さんの独り言
objective c - Google Analytics SDK 3.0 _sqlite3 linker errors in iOS - Stack Overflow