==== 必要なもの ====
* GooglePlayService SDKのインストール
* GoogleAnalyticsアカウントの作成(UAコード)
==== AndroidManifest.xml を更新する ====
metaタグとpermissionを追加します。
==== Trackerを管理するApplicationクラスを作成する ====
public class AnalyticsApplication extends Application {
private static final String PROPERTY_ID = "your property id";
Tracker mTracker;
public AnalyticsApplication() {
super();
}
synchronized Tracker getTracker() {
if (mTracker == null) {
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
mTracker = analytics.newTracker(PROPERTY_ID);
}
return mTracker;
}
}
==== スクリーンビューを送信する ====
基本的にはonStart()に仕込むのが常套手段っぽいですが、\\
別の画面から戻ってきた時にも送るかどうかの注意が必要。
@param screenName スクリーン名\\
// Get tracker.
Tracker t = ((AnalyticsApplication) getApplication()).getTracker();
// Set screen name.
// Where path is a String representing the screen name.
t.setScreenName(screenName);
// Send a screen view.
t.send(new HitBuilders.AppViewBuilder().build());
==== イベントを送信する ====
@param categoryId カテゴリ\\
@param actionId アクション\\
@param labelId ラベル\\
// Get tracker.
Tracker t = ((AnalyticsApplication) getApplication()).getTracker();
// Build and send an Event.
t.send(new HitBuilders.EventBuilder()
.setCategory(categoryId)
.setAction(actionId)
.setLabel(labelId)
.build());
==== データの反映・確認 ====
ここまでが必要最低限の設定です。\\
レポートタブのアプリサマリーの項目ににデータが追加されていきますが、\\
反映されるには24~48時間前後かかるようです。
リアルタイム項目のイベントやスクリーンにはすぐに反映されます。\\
{{:ga_screen.png?direct&300|}}
{{:ga_event.png?direct&300|}}
==== Trackerを使い分ける ====
あまり使わないと思いますが、一応メモ。\\
Trackerを使い分ける際は以下のようにして管理するようです。\\
APP_TRACKER アプリ個別の設定\\
GLOBAL_TRACKER 会社用など共通の設定を使用する場合\\
ECOMMERCE_TRACKER eコマース用?\\
public class AnalyticsApplication extends Application {
private static final String PROPERTY_ID= "your property id";
public enum TrackerName {
APP_TRACKER, // Tracker used only in this app.
GLOBAL_TRACKER, // Tracker used by all the apps from a company. eg: roll-up tracking.
ECOMMERCE_TRACKER, // Tracker used by all ecommerce transactions from a company.
}
HashMap mTrackers = new HashMap();
public AnalyticsApplication() {
super();
}
synchronized Tracker getTracker(TrackerName trackerId) {
if (!mTrackers.containsKey(trackerId)) {
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
Tracker t = (trackerId == TrackerName.APP_TRACKER) ? analytics.newTracker(PROPERTY_ID)
: (trackerId == TrackerName.GLOBAL_TRACKER) ? analytics.newTracker(R.xml.global_tracker)
: analytics.newTracker(R.xml.ecommerce_tracker);
mTrackers.put(trackerId, t);
}
return mTrackers.get(trackerId);
}
}
==== 参考URL ====
[[https://developers.google.com/analytics/devguides/collection/android/v4/?hl=ja]]