1

アプリに 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>

それで、いくつか質問があります:

  1. ga_autoActivityTracking も analytics.enableAutoActivityReports(this) も役に立たないのはなぜですか? ログにディスパッチが表示されません。の後に何もありませんThread[main,5,main]: Connected to serviceが、画面を手動で送信するとすべて問題ありません。

  2. この定数の目的がわかりません(例で):

    public static int GENERAL_TRACKER = 0;

  3. アクティビティを自動的に追跡するだけの場合、TrackerName列挙型とメソッドを使用する必要がありますか?getTracker(TrackerName trackerId)

よろしくお願いします。

4

1 に答える 1

0

私は最初の質問であなたを助けることができます.これはあなたのコードです:

// True to prevent sending reports to server (for debugging)
analytics.setDryRun(true);

ただし、DryRun モードでもログ レコードを表示する必要があるとドキュメントには記載されています

于 2014-12-26T19:21:16.800 に答える