アプリに GA v4 を実装しようとしています。そして、私はここでドキュメントを読み、ここを見て答えを検索しましたが、私が見つけたものすべて( enableAutoActivityTracking はアクティビティを自動的に追跡しませんか?) は役に立ちませんでした。
ドキュメントの例にいくつかの変更を加えました。これはApplication サブクラスにあります。
package com.example;
import ...
public class AppSubclass extends Application {
private static final String TAG = "AppSubclass";
@Override
public void onCreate() {
super.onCreate();
initIrrImageLoader();
...
initGoogleAnalytics();
}
private void initGoogleAnalytics() {
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
// True to prevent sending reports to server (for debugging)
analytics.setDryRun(true);
analytics.setLocalDispatchPeriod(10); // In seconds, default 1800
analytics.getLogger().setLogLevel(Logger.LogLevel.VERBOSE);
// Enable automatic activity tracking
analytics.enableAutoActivityReports(this);
}
//region GOOGLE ANALYTICS TRACKERS INIT
private static final String PROPERTY_ID = "UA-XXXXXXXX-1";
public static int GENERAL_TRACKER = 0;
// We will use only one tracker for now. You can use multiple,
// see https://developers.google.com/analytics/devguides/collection/android/v4/
Tracker mAppTracker;
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.
}
public synchronized Tracker getTracker(TrackerName trackerId) {
if (mAppTracker == null) {
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
mAppTracker = analytics.newTracker(R.xml.app_tracker);
}
return mAppTracker;
}
//endregion
}
そして私のres/xml/app_tracker.xml で:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- App property id. -->
<string name="ga_trackingId">UA-XXXXXXXX-1</string>
<!-- Enable automatic Activity measurement -->
<bool name="ga_autoActivityTracking">true</bool>
<!-- The screen names that will appear in reports -->
<string name="com.example.SomeActivity">
SomeActivity
</string>
<!-- Timeout after stopping till new session start -->
<integer name="ga_sessionTimeout">600</integer>
<!-- Report uncaught exceptions -->
<bool name="ga_reportUncaughtExceptions">true</bool>
</resources>
それで、いくつか質問があります:
ga_autoActivityTracking も analytics.enableAutoActivityReports(this) も役に立たないのはなぜですか? ログにディスパッチが表示されません。の後に何もありません
Thread[main,5,main]: Connected to service
が、画面を手動で送信するとすべて問題ありません。この定数の目的がわかりません(例で):
public static int GENERAL_TRACKER = 0;
アクティビティを自動的に追跡するだけの場合、
TrackerName
列挙型とメソッドを使用する必要がありますか?getTracker(TrackerName trackerId)
よろしくお願いします。