ユーザ用ツール

サイト用ツール


google_analytics_v4

以前のリビジョンの文書です


必要なもの

  • GooglePlayService SDKのインストール
  • GoogleAnalyticsアカウントの作成

AndroidManifest.xml を更新する

metaタグとpermissionを追加します。

<application 
  android:name=".AnalyticsApplication"
  ...>
  <meta-data android:name="com.google.android.gms.version"
             android:value="@integer/google_play_services_version" />
  <activity ...>
</application>

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

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時間前後かかるようです。

リアルタイム項目のイベントやスクリーンにはすぐに反映されます。

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<TrackerName, Tracker> mTrackers = new HashMap<TrackerName, Tracker>();

    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

google_analytics_v4.1425279550.txt.gz · 最終更新: 2015/03/02 15:59 by sou