この記事は公開されてから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 を組み込んでアプリの利用解析を行う