iPhoneアプリにGoogle Analyticsを入れてみる -Google Analytics SDK for iOS導入-
導入経緯
iPhoneアプリをリリースして、AppAnnieを使って「ランキング」や「ダウンロード数」は適宜チェックしているかと思います。
それだけでなく、実際にどのように利用されているのか知りたいというのがあるかと思います。
そこで、「Google Analytics SDK for iOS」の出番です。
※当然、Android版もあります。
Google Analyticsでできる事
導入すれば、以下のデータを取得することができます。
- 画面の表示回数
- ボタンのクリック数
事前準備
「Google Analytics」を利用するにあたって「Google Analytics」のアカウントが必要です。
持っていない場合は、以下から作ってください。
Google Analytics Official Website
- 「アナリティクス設定」を選択
- 「新しいアカウント」を選択
- 「トラッキングの対象」をアプリにし必要なデータを入力
最終的に以下のようなプロパティIDが得られます。
- プロパティ ID: UA-xxxxxxxx-x
導入手順
SDKのダウンロード&追加
以下からSDKをダウンロードします。
現在(2/7)ですと、Versionは「2.0 beta4」になります。
ダウンロード – iOS SDK – Google アナリティクス — Google Developers
ダウンロードしたら、SDKから以下のファイルを自身のプロジェクトに追加します。
- GAI.h
- GAITracker.h
- GAITrackedViewController.h
- GAITransaction.h
- GAITransactionItem.h
- libGoogleAnalytics.a
また、以下のフレームワークを追加します。
- CoreData.framework
- SystemConfiguration.framework
初期化
GAI.hをimportする必要があるので、以下のファイルに追記します。
これで各.hファイルに追記する必要はありません。
- アプリ名-Prefix.pch
#ifdef __OBJC__ #import <UIKit/UIKit.h> #import <Foundation/Foundation.h> #import "GAI.h" //←追記 #endif
delegate.hファイルに以下を追記します。
- AppDelegate.h
id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
delegate.mファイルの「application:didFinishLaunchingWithOptions:」にコードを追記します。
- AppDelegate.m
- (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"]; }
ここまでで下準備完了です。
画面の表示を計測
計測したいUIViewControllerの.hファイルを以下のように変更します。
@interface SampleViewController : GAITrackedViewController
その後にviewDidLoadメソッドに以下を追記します。
- (void)viewDidLoad { [super viewDidLoad]; self.trackedViewName = @"わかりやすい画面名"; }
trackedViewNameをクラス名にするという手もありますが、実装者以外にはわかりづらいと思うので、私は別に設定した名前にしています。
※手入力にしているのは、計測したい画面数が少ないからというのあるかとは思います。
計測結果
上記の設定をしているとリアルタイム計測でも見ることができます。
「Google Analytics」の左側のメニューにある「アプリサマリー」→「リアルタイム」から見ることができます。
クリック数(Event)を計測
クリック数に関しては、計測したい箇所で以下の様なコードを追記すればOKです。
[tracker sendEventWithCategory:@"uiAction" withAction:@"buttonPress" withLabel:buttonName withValue:[NSNumber numberWithInt:1]];
valueは好きな値で良いのですが、合計値になるようなので、その点を注意してください。
計測結果
クリック数はリアルタイム計測では見ることはできません(見る方法があったら教えて下さい・・)。
「Google Analytics」の左側のメニューにある「ユーザー」→「ユーザーのロイヤリティ」→「イベント」から見ることができます。
下記のようにカテゴリ、アクション、ラベルで分けられています。
これで色々と計測ができるようになりますね。
参考
広告
関連記事
-
アプリのためにFacebookページ作成 -現時点で注意すべき点-
* 前回 会社のメルアドでFacebookページを作成する方法を載せました。 * Faceboo
-
jQuery Mobile1.2のPopupを試してみた -写真を表示-
jQuery Mobile1.2の「Popup」を試してみました。 他の機能である「Collaps
-
PhoneGapを触ってみた ―導入編―
スマートフォン対応をjQuery Mobileを使ってやったので、その資産をいかせないかということで
-
Twitterでプロテクトをかけているユーザが投稿したステータスを取得する方法
* 前提 ID Twitterの各投稿にはIDが存在していています。 そのIDを元にステータス
-
Facebookがちょっとコワイ vol.2 -本当にあなたはあなたなの?-
以下のブログを読んで、さらにコワイと思ったFacebook。 あなたが登録している「友
-
iPhoneアプリ開発 −タッチで線を描く(1)−
* やりたいこと 今回やりたいことは以下の2点。 -(1) 画面をタッチして、指を動かして線を描きた
-
jQuery Mobile導入手順 -はじめの一歩-
jQuery Mobileの1.0がリリースされ、利用したい方が増えていると思います。 最初に何を
-
iPhoneアプリ開発 −UITabControllerの利用−
* やりたいこと 上にあるように下部にあるタブをタッチしたら別のページを呼び出す。 *
-
jQuery Mobileのリストの見た目をちょっとカスタマイズ -覚書-
jQuery Mobileを使えば簡単にスマートフォン対応できる言えば出来るのですが、少しでもカスタ
-
Jenkins + DeployGate(1) -DeployGateでAndroidアプリ開発-
TestFlight for Androidが発表されて1ヶ月ぐらいたちますが、音沙汰がありません。