投稿日:2010年12月24日 -投稿者 S.M.
[android] アプリにGoogleAnalyticsを埋め込むには
今回はandroidアプリにGoogleAnalyticsを仕込む方法を紹介します。
GoogleAnalyticsといえば「Webサイトのアクセス解析でしょ」と思われがちですが、
スマートフォンアプリ(iphone,android)でも利用が可能です。
① Google Analytics SDK for Androidの用意
以下のページからSDKをダウンロードします。
http://code.google.com/intl/ja/mobile/analytics/download.html
# 2010/12/07時点での最新版は0.8
ダウンロードしたら、ファイルを展開してプロジェクトに組み込みます。
eclipseを開いて、プロジェクトを右クリック→「ビルド・パス」→「ビルド・パスの構成」を選択し、
ライブラリタブを選択。「外部 Jar 追加」を選択し、「libGoogleAnalytics.jar」を選択します。
次にAndroidManifest.xmlに以下のパーミッションを追加します。
<uses-permission android:name=”android.permission.INTERNET” /><uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE” />
② Analyticsアカウントの用意
次は、Analyticsのアカウントを用意し、プロファイルを作成します。
# 既にプロファイルを用意している場合は③に進んでください。
まず、↓のページにアクセスし、Analyticsの登録を行います。
http://www.google.com/intl/ja/analytics/
アカウントができたら、次はプロファイルを作成します。
「プロファイルを追加」リンクをクリックして、プロファイルの新規作成画面を表示します。
「トラッキングするサイトのURL」に適当なURLを入力し、完了ボタンをクリックします。
すると、サマリーページに先ほど登録したプロファイルが追加されるので、
追加されたプロファイルの「UA-xxxxxxx-x」をメモしておきます。
③ アプリに組み込む
ここからは実際にアプリに組み込んでいきます。
組み込みを行うにあたって、以下の4つを記述します。
①GoogleAnalyticsTrackerのインスタンスの作成
②トラッキングの開始
③トラッキング(ページ or イベント)
④トラッキングの停止
———————————————————————-
import jp.pinetail.android.sample.analytics.R.id;import com.google.android.apps.analytics.GoogleAnalyticsTracker;import android.app.Activity;import android.content.pm.PackageManager;import android.content.pm.PackageManager.NameNotFoundException;import android.os.Build;import android.os.Bundle;import android.util.Log;import android.widget.TextView;public class MainActivity extends Activity {GoogleAnalyticsTracker tracker;/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);// ① インスタンスの作成tracker = GoogleAnalyticsTracker.getInstance();// ② トラッキングの開始// 20秒間隔でトラッキングデータを送信するtracker.start(“UA-xxxxxxx-x”, 20, this);// ③ トラッキング(ページビュー)tracker.trackPageView(“/MainActivity”);Button btn = (Button) findViewById(R.id.Button01);btn.setOnClickListener(new OnClickListener() {public void onClick(View arg0) {// ③ トラッキング(イベント)tracker.trackEvent(“Category”, // Category”Action”, // Action”Label”, // Label0); // Value}});}@Overrideprotected void onDestroy() {super.onDestroy();// ④ トラッキングの停止tracker.stop();}}
———————————————————————-
トラッキングを埋め込んだら、アプリを操作してAnalyticsに反映されるまでひたすら待ちます。
反映されるまで最大24時間かかるらしいので、気長に待ちます。
で、後日反映された結果を眺めてみました。
・コンテンツ サマリー
trackPageViewで設定した内容が反映されてます。
・イベント トラッキングの概要
trackEventで設定した内容が反映されてます。
この他にもOSのバージョン、画面の解像度も調べることができます。
# 「ユーザー」 → 「PC環境」 → 「オペレーティング システム」
海外だと2.2がメインという記事がちらほら書かれてますが、
日本だとやっぱり2.1が多いですね。
あと、残念ながらtrackPageViewでは機種名(xperia、IS03等)は取得できないようです。
機種名を別途とりたい場合はsetCustomVarメソッドを使えばいいようです。
※ setCustomVarは任意のデータを取得できますが、
個人情報を取得するのはやめましょう!
wrote by S.M.

