タグを表示

[Titanium Mobile] アプリ内の画面ページビューやボタンのクリック回数をGoogle Analyticsで計測する

Titaniumでつくったアプリ内でもGoogle Analyticsを使ってアクセス解析できるということなので試してみました。

@kasumiiです。こんにちは。

Google Analyticsでウェブサイトのアクセス解析は今までやっていたのですが、iPhoneアプリ内でも使えるということを、実際に自分でアプリを作ってみるまで知らなかったので改めてメモメモ。

たとえばアプリ内のこういうデータを取得できます。

ページ(画面)ごとのアクセス数を記録
ボタンが押された回数を記録
どこの国・地域の人が使ってくれているか
iOSのバージョン

などなど。

この画面がよく見られているんだなーふむふむ。とか、ボタンを大きくしたら押される回数が増えた!とか、トラッキングしておくと使い勝手や売り上げアップにつながることも多そうです。

【参考】Titanium MobileでGoogle Analyticsを利用する – box box box
【参考】Google Analytics in Titanium Application | Appcelerator Titanium Tutorial

Google Analyticsにログインして、アプリのアクセス解析用のアカウント(というかプロファイル)を作成しておきます。

このとき生成される自分のトラッキングID(UA-XXXXXXXX-X)があとで必要になります。

【GitHub】rogchap/Titanium-Google-Analytics

Roger Chapmanさんの「Titanium-Google-Analytics」を使わせていただきます。ダウンロードした analytics.js を /Resources 以下に置きます。(app.jsと同階層)

/MyApp/Resources/analytics.js

以下のコードを app.js に挿入しますが、自分のトラッキングIDを入れるのを忘れずに。

// ------------------------------------
//  Google Analytics 設定
// ------------------------------------
Ti.include("analytics.js");

// トラッキングID
var analytics = new Analytics('UA-XXXXXXXX-X');

Titanium.App.addEventListener('analytics_trackPageview', function(e){
    analytics.trackPageview(e.pageUrl);
});
Titanium.App.addEventListener('analytics_trackEvent', function(e){
    analytics.trackEvent(e.category, e.action, e.label, e.value);
});
Titanium.App.Analytics = {
    trackPageview:function(pageUrl){
        Titanium.App.fireEvent('analytics_trackPageview', {pageUrl:pageUrl});
    },
    trackEvent:function(category, action, label, value){
        Titanium.App.fireEvent('analytics_trackEvent', {category:category, action:action, label:label, value:value});
    }
}
analytics.start(10);

たとえば設定画面のアクセス数をカウントしたい場合は、ウィンドウのfocusイベントで以下のようにすると、

win.addEventListener('focus', function(e){
    Ti.App.Analytics.trackPageview('/view/settings');
});

/view/settings というURLのページにアクセスしたという記録が残るので「設定画面のアクセス数」がわかるようになります。引数として渡すデータは自分のわかりやすいものに変更可能です。

Google Analytics の「コンテンツ」→「サイト コンテンツ」→「すべてのページ」で、

ページ(URL) → /view/settings
ページビュー → 設定画面の表示回数

というデータが確認できます。

たとえばアプリ内にあるお気に入りボタンを押された回数を記録したい場合は、以下のようにすることでボタンのクリックイベントをトラッキングできます。

btn.addEventListener('click', function () {
    Ti.App.Analytics.trackEvent('Button','Click','Favorite',1);
});

Google Analytics の「コンテンツ」→「イベント」のページで、

イベントカテゴリ → Button
イベントアクション → Click
イベントラベル → Favorite

とデータが計測されていればOK!

イベントとしてではなくページビューとしてボタンのクリック回数を記録したい場合は以下のように。/click や /view のようにディレクトリを分けておけば分析しやすいです。

btn.addEventListener('click', function () {
    Ti.App.Analytics.trackPageview('/click/favorite');
});

最初にアプリを起動したときだけカウントしておけば、ダウンロード数の計測もできるよね。というアイデア。なるほどー!

【参考】[Titanium] アプリのダウンロード数をGoogle Analyticsで計測する – Sawalog

初回起動時に「アプリがDLされたよ!」という情報をGoogleAnalyticsに送信する。 「DLされたよフラグ」をTitanium.App.Propertiesを使って保存しておいて、次から起動しても送信しないようにする。

イベントの発火タイミングを工夫すればいろいろGoogle Analyticsは使えそうですね。

コメントでアドバイスをいただいたので追記。

通信機能を使うアプリの場合、上記の方法で頻繁にイベント送信するとサーバ側と接続しにくくなることがあるらしい。その場合は以下のモジュール(有料)を使うといいそうです。

【iOS】Google Analytics SDK iPhone by Think Orange | Appcelerator
【Android】Google Analytics SDK Android by Think Orange | Appcelerator

@yagi_さん、ありがとうございますヽ(*´ω`*)ノ

ところでこのブログ記事は@astronaughtsさん主催の、Titanium Mobileに関する小ネタを30日間みんなで書こう!というイベント「Titanium mobile “early” Advent Calendar 2012」の19日目として参加させていただきました。役に立つエントリーがたくさん集まっているので要チェックですぞ!w

Titanium mobile “early” Advent Calendar 2012 : ATND

このページの一番上へ

サイトのトップページへ

このページの一番下へ