[iOS]Google Analytics iOS #1 ページビューを計測する
はじめに
Google Analytics SDKをアプリに導入することで、
Web版のGoogleAnalyticsと同様にAndroidアプリやiOSアプリの使用状況を計測出来ます。
本シリーズではiOSアプリへのGoogleAnalyticsの導入方法について書いていきます。
Appleが用意しているサイト「iTunesConnect」では、アプリのダウンロード数程度しか確認することができませんが、
iOSアプリにGoogleAnalyticsを導入することで、アクティブなユーザー数を計測することができます。
また、画面の表示回数を計測するための「Screen Tracking」やボタンのクリック数等のイベントを計測するための「Event Tracking」を使用することでUI等の改善の参考にすることもできます。
主要な機能は以下の通りです。
Screen Tracking | ユーザー数や画面のページビューなどを計測 |
Event Tracking | ボタンのクリックなどのイベントを計測 |
Campaign Tracking | ユーザーがどこから来たのかを計測し、キャンペーンやマーケティングに活用できる。 |
Ecommerce Tracking | アプリ内購入と販売を計測 |
User Timings | 起動時間などの特定の動作にかかる時間を計測 |
今回は「Screen Tracking」について書いていきます。
Analyticsのアカウントを作成
Googleのアカウントを既に持っているが、Analyticsを使ったことがないというケースで説明していきます。
まずはGoogleAnalyticsのサイトを開き、「アカウントを作成」をクリックし、Analyticsのアカウントを作成します。
トラッキングの対象は「アプリ」を選択し、アプリ名を入力します。計測の対象にするアプリの名前を入力してください。
ここでは「AnalyticsTest」という名前にしました。
アカウント名を入力します。アカウント名は「メールアドレスの@の前の部分」等で良いようです。
「トラッキングIDを取得」をクリックします。
アカウントを作成できました。「①ダウンロード」をクリックしてiOS用のSDKをダウンロードしてください。
また、「②ガイド」をクリックすると、マニュアルを見ることができます。
トラッキングIDは後で使いますのでメモしといてください。
インストール&初期設定
プロジェクトにSDKを追加する。
プロジェクトにSDKを追加します。今回は「Master-Detail Application」テンプレートからプロジェクトを作成し、AnalyticsSDKを入れてみます。
先ほどダウンロードしたSDKを解凍し「Library」フォルダ内の以下のファイルをプロジェクトに追加します。
GAI.h GAITracker.h GAITrackedViewController.h GAITransaction.h GAITransactionItem.h libGoogleAnalytics.a |
また、以下のフレームワークをプロジェクトに追加します。
CoreData.framework SystemConfiguration.framework |
初期設定を行う
AppDelegateクラスの「application:didFinishLaunchingWithOptions:」メソッドに以下のコードを追加し、
Trackerを初期化します。
"UA-YOUR-TRACKING-ID"部分にはアカウント作成時にメモしておいたトラッキングIDを入力します。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // 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 debug to YES for extra debugging information. [GAI sharedInstance].debug = YES; // Create tracker instance. id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"UA-YOUR-TRACKING-ID"]; }
また、計測したい画面ごとに「GAI.h」ファイルをインポートするのは面倒なので
「(アプリ名)-Prefix.pch」ファイルで「GAI.h」ファイルをインポートしておきます。
#import <Availability.h> #ifndef __IPHONE_5_0 #warning "This project uses features only available in iOS SDK 5.0 and later." #endif #ifdef __OBJC__ #import <UIKit/UIKit.h> #import <Foundation/Foundation.h> // 追加 #import "GAI.h" // #endif
Screen Trackingの実装
「Screen Tracking」を使うことで、特定の画面のページビューやユーザー数を計測出来ます。
実装方法は2通りあります。
(1)Automatic Screen Measurement
計測対象にしたい画面がUIViewControllerのサブクラスである場合は、
「Automatic Screen Measurement」を使います。
対象のViewControllerをGAITrackedViewControllerのサブクラスにし、trackedViewNameを設定するだけで、自動的に計測されるようになります。
今回は「Master-Detail Application」テンプレートからプロジェクトを作成しているので、
UIViewControllerのサブクラスである「DetailViewController」に計測用のコードを実装してみます。
DetailViewController.hファイルを書き換え、親クラスを「GAITrackedViewController」に変更します。
@interface DetailViewController : GAITrackedViewController ...
DetailViewController.mファイルのviewDidLoadメソッドにコードを追加します。
下記のコード内で"DetailViewController"としている部分が管理画面で表示されるので、わかり易い名前を設定してみてください。
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. [self configureView]; // 追加 self.trackedViewName = @"DetailViewController"; // }
これでDetailViewControllerの画面の表示の準備は完了です。
(2)Manual Screen Measurement
計測対象にしたい画面が「UITableViewController」のサブクラス等の場合は「Manual Screen Measurement」を使います。
画面表示のタイミングなどでTrackerインスタンスのsendViewメソッドを呼び出すことで、画面表示の計測を行うことが出来ます。
今回のプロジェクトのMasterViewControllerはUITableViewControllerのサブクラスなので
こちらのやり方で実装します。
ここではMasterViewController.mファイルのviewDidLoadにコードを追加しました。
こちらも、"MasterViewController"としている部分が管理画面で表示されます。
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. self.navigationItem.leftBarButtonItem = self.editButtonItem; UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(insertNewObject:)]; self.navigationItem.rightBarButtonItem = addButton; // 追加 [[GAI sharedInstance].defaultTracker trackView:@"MasterViewController"]; // }
これでMasterViewControllerの画面表示の計測の準備は完了です。
実行&計測データ確認
今回試してみた環境では、アプリを実行して画面を表示してから10分程度でデータが反映されました。
「レポート」を開いてみましょう。
レポートの「アプリサマリー」ページの真ん中にある「スクリーン」項目を見ると、「DetailViewController」と「MasterViewController」が追加されています。
ページビュー、ユーザー数、セッション時間などを確認できます。
OSのバージョンやスクリーンサイズも自動でとれるようになっています。
まとめ
計測結果を確認することができましたでしょうか。
このように、SDKをプロジェクトに追加し、数行のコードを追加するだけで、このような機能を使うことができます。
次回は「Event Tracking」について書きたいと思います。
参考記事
Google Analytics SDK for iOS v2 (Beta) - Overview
Google Analytics SDK for iOS v2 を組み込んでアプリの利用解析を行う