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

iPhoneアプリをヒットさせるために大事な5つのこと

巷にはたくさんのiPhoneアプリがたくさんあります。 そして、毎日新しいアプリがリリースされていま

記事を読む

no image

iPhoneアプリ開発 −複数前の画面に戻る−

* やりたいこと ある画面から別の画面に遷移したい。 -1つ前の画面に戻りたい。 -2つ前の画面に戻

記事を読む

iPhoneアプリ開発 芳名帳アプリ作成(5) -ペンサイズと入力エリア数の設定-

* 今までの流れ - -[http://pplace.jp/2013/06/1531/:titl

記事を読む

mixisample

iPhoneアプリ開発 -mixiSDKを使ってmixi連携をしてみる(1)-

* やりたいこと iPhoneアプリでmixiと連携し、mixiボイスなどに文字を投稿する。 ※

記事を読む

no image

iPhoneアプリ開発 -mixiSDKを使ってmixi連携をしてみる(2)-

* 前回 は、「ユーザーにAPI利用のための認可」をおこなってもらうところまでやりました。 本エン

記事を読む

no image

Capistranoで簡単デプロイ -開発用サーバー編-

cakePHPを使って開発しているサービス()で、リリース周りを楽にしたいなと思いCapistran

記事を読む

no image

CakePHP1.3でテストコード(1) -モデルのテスト-

CakePHP1.3ではSimpleTestを用いてテストコードを書きます。 ※CakePHP2系で

記事を読む

no image

iPhoneアプリ開発 -背景画像をiPhone5対応してみた-

* やりたいこと iPhone5は今までと異なり高さが違います。 その結果、背景画像によっては良い感

記事を読む

no image

Objective-cで悩んでいたこと −アクセサのことについて−

* 疑問 以前書いたiPhoneアプリを開発していて(Objective-Cを触っていて)疑問に思

記事を読む

no image

CakePHP1.3でテストコード(2) -フィクスチャをいじってみる(テストデータの動的登録)-

cakePHP1.3でのSimpleTestを使ったテストケースの第2回目。 今回は、動的にテストデ

記事を読む

広告

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 ↑