iPhoneアプリにGoogle Analyticsを入れてみる -Google Analytics SDK for iOS導入-

公開日: : 最終更新日:2014/04/19 iPhone, IT


 導入経緯

iPhoneアプリをリリースして、AppAnnieを使って「ランキング」や「ダウンロード数」は適宜チェックしているかと思います。

それだけでなく、実際にどのように利用されているのか知りたいというのがあるかと思います。
そこで、「Google Analytics SDK for iOS」の出番です。
※当然、Android版もあります。

 Google Analyticsでできる事

導入すれば、以下のデータを取得することができます。

  • 画面の表示回数
  • ボタンのクリック数

 事前準備

「Google Analytics」を利用するにあたって「Google Analytics」のアカウントが必要です。
持っていない場合は、以下から作ってください。
Google Analytics Official Website

  1. 「アナリティクス設定」を選択
  2. 「新しいアカウント」を選択
  3. 「トラッキングの対象」をアプリにし必要なデータを入力

最終的に以下のようなプロパティ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」の左側のメニューにある「アプリサマリー」→「リアルタイム」から見ることができます。
スクリーンショット 2013-02-07 17.26.08

 クリック数(Event)を計測

クリック数に関しては、計測したい箇所で以下の様なコードを追記すればOKです。

[tracker sendEventWithCategory:@"uiAction"
                     withAction:@"buttonPress"
                      withLabel:buttonName
                      withValue:[NSNumber numberWithInt:1]];

valueは好きな値で良いのですが、合計値になるようなので、その点を注意してください。

 計測結果

クリック数はリアルタイム計測では見ることはできません(見る方法があったら教えて下さい・・)。
「Google Analytics」の左側のメニューにある「ユーザー」→「ユーザーのロイヤリティ」→「イベント」から見ることができます。
下記のようにカテゴリ、アクション、ラベルで分けられています。
スクリーンショット 2013-02-07 17.16.25

これで色々と計測ができるようになりますね。

 参考

広告

関連記事

no image

アプリのためにFacebookページ作成 -現時点で注意すべき点-

* 前回 会社のメルアドでFacebookページを作成する方法を載せました。 * Faceboo

記事を読む

popup

jQuery Mobile1.2のPopupを試してみた -写真を表示-

jQuery Mobile1.2の「Popup」を試してみました。 他の機能である「Collaps

記事を読む

no image

PhoneGapを触ってみた ―導入編―

スマートフォン対応をjQuery Mobileを使ってやったので、その資産をいかせないかということで

記事を読む

no image

Twitterでプロテクトをかけているユーザが投稿したステータスを取得する方法

* 前提 ID Twitterの各投稿にはIDが存在していています。 そのIDを元にステータス

記事を読む

no image

Facebookがちょっとコワイ vol.2 -本当にあなたはあなたなの?-

以下のブログを読んで、さらにコワイと思ったFacebook。 あなたが登録している「友

記事を読む

no image

iPhoneアプリ開発 −タッチで線を描く(1)−

* やりたいこと 今回やりたいことは以下の2点。 -(1) 画面をタッチして、指を動かして線を描きた

記事を読む

no image

jQuery Mobile導入手順 -はじめの一歩-

jQuery Mobileの1.0がリリースされ、利用したい方が増えていると思います。 最初に何を

記事を読む

スクリーンショット 2012-10-20 14.26.24

iPhoneアプリ開発 −UITabControllerの利用−

* やりたいこと 上にあるように下部にあるタブをタッチしたら別のページを呼び出す。 * 

記事を読む

list-normal

jQuery Mobileのリストの見た目をちょっとカスタマイズ -覚書-

jQuery Mobileを使えば簡単にスマートフォン対応できる言えば出来るのですが、少しでもカスタ

記事を読む

Jenkins + DeployGate(1) -DeployGateでAndroidアプリ開発-

TestFlight for Androidが発表されて1ヶ月ぐらいたちますが、音沙汰がありません。

記事を読む

広告

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

広告

no image
[感想] Effective Objective-C 2.0 ☆☆☆☆★(4.5)

* 構成 - 第1章 Objective-Cに慣れる -

no image
[感想] iOSアプリテスト自動化入門 ☆☆☆(3.0)

* 構成 - Chapter 1 テスト自動化への取り組み

DeployGateを試してみた(iOS編) -DeployGateがiOSに対応-

今までのDeployGate - -[http://pplace.

iPhone/iPadアプリを開発するためにやったこと

今までに、iPhoneを3本ほどリリース((リリースしたアプリは全て1

no image
ターミナルでgitのコマンドを補完したりブランチ名を表示する – macでgitを便利に使うために –

* やりたいこと macのターミナルでgitをいじっていると -今の

→もっと見る

PAGE TOP ↑