10分でわかるGoogle Analytics SDK for iOS
(iOS Advent Calendar 2011 20日目の寄稿エントリです)
iPhone/iPadアプリをリリースした後にダウンロード数、ランキングをチェックするのは当然ですが、どれだけアプリが使われているのかをチェックすることも重要です。そこで今回はGoogle Analyticsを使ってiOSアプリの使用状況を計測をする方法を紹介したいと思います。
Google Analytics for iOSとは
iOSネイティブアプリ用のGoogle Analyticsなのですが、計測データの送信部分がObjective-Cで書かれているので、画面の表示回数やボタンのクリック数などを計測することが可能です。ちなみに計測結果はWeb版のGoogle Analyticsと同じ管理画面から確認することができます。
Google Analyticsの設定
Google Analyticsのアカウントを持っていない場合は、サイトから作成してください。最初に新しいプロファイルを作成します。
「新しいドメインのプロファイルを追加」を選択し、URLを入力します。ただし、今回はダミーのURLで構いません。「タイムゾーンの国または地域」が正しく設定されていることを確認し、「完了」をクリック。
トラッキングコードが設置されてない旨のアラートが出ますが、気にせずに次へ進みます。iOSアプリの場合は必要ありません。表示されている「ウェブプロパティID」(例:UA-xxxxxxxx-y)を控えておいてください。後ほど使用します。
Google Analytics SDKの導入
ライブラリの追加
ダウンロードしたSDKを展開し「Library」ディレクトリ内の「GANTracker.h」と「libGoogleAnalytics.a」をプロジェクトに追加します。
フレームワークの追加
Xcodeでプロジェクトファイルを開き「TARGETS」でアプリを選択、「Build Phases」「Link Binary With Libraries」の「+」ボタンを押して「CFNetwork.framework」と「libsqlite3.0.dylib」を追加します。
以上でGoogle Analytics SDKの導入は完了です。
トラッキングコードの実装
ライブラリのインポート
「<プロジェクト名>-Prefix.pch」で「GANTracker.h」をインポートしておくことで、各ViewControllerで個別にインポートする必要がなくなります。
#import <Availability.h> #ifndef __IPHONE_3_0 #warning "This project uses features only available in iPhone SDK 3.0 and later." #endif #ifdef __OBJC__ #import <UIKit/UIKit.h> #import <Foundation/Foundation.h> #import "GANTracker.h" #endif
トラッキングの開始
先ほど控えておいた「ウェブプロパティID」を開始メソッドに設定します。開始メソッドはapplication:didFinishLaunchingWithOptions:内で呼ぶようにします。dispatchPeriodは解析データの送信間隔(秒)となります。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [[GANTracker sharedTracker] startTrackerWithAccountID:@"UA-xxxxxxxx-y" dispatchPeriod:10 delegate:nil]; self.window.rootViewController = self.viewController; [self.window makeKeyAndVisible]; return YES; }
ページビューのトラッキング
各ViewControllerのviewDidLoadかviewWillAppearでtrackPageview:withError:を呼びます。
- (void)viewDidLoad { [super viewDidLoad]; NSError *error; if (![[GANTracker sharedTracker] trackPageview:@"/target_page" withError:&error]) { // エラーハンドリング } }
イベントのトラッキング
イベントのトラッキングには「カテゴリ」「アクション」「ラベル」の3段階にグループ分けができます。クラス名、メソッド名、パラメータあたりを対応させるのがいいのではないかと思います。ちなみに「カテゴリ」と「アクション」は必須です。
- (IBAction)buttonTapped { NSError *error; if (![[GANTracker sharedTracker] trackEvent:@"my_category" action:@"my_action" label:@"my_label" value:-1 withError:&error]) { // エラーハンドリング } }
計測結果の確認
新バージョンのGoogle Analyticsの「リアルタイム解析」を使用すれば、ほぼリアルタイムに計測のテストが行えます。Google Analyticsのトップにある[新しいバージョン]のリンクをクリックし、「ホーム」-「リアルタイム解析(ベータ版)」-「サマリー」をクリックします。アプリを操作し計測ログが送信されると、数秒後に計測結果が反映されます。
その他
オフライン時の計測データについて
Webと違いiOSアプリはオフライン時にも利用されます。オフライン時のデータは一旦端末に記録されて、オンラインでデータ送信可能なタイミングでまとめて送信されます。