Activity中是否需要任何代码,以便ga_autoActivityTracking = true适用于Google Analytics V4

Che*_*eng 11 android google-analytics

在Google Analytics v3中Activity,我们需要进行自动跟踪

  1. ga_autoActivityTracking manifest.xml中的标志.
  2. GA代码onStartonStop

适用于Android v3的Google AnalyticsSDK

public class myTrackedActivity extends Activity {

  @Override
  public void onStart() {
    super.onStart();
    ... // The rest of your onStart() code.
    EasyTracker.getInstance(this).activityStart(this);  // Add this method.
  }

  @Override
  public void onStop() {
    super.onStop();
    ... // The rest of your onStop() code.
    EasyTracker.getInstance(this).activityStop(this);  // Add this method.
  }
}

<?xml version="1.0" encoding="utf-8" ?>

<resources>
  <!--Replace placeholder ID with your tracking ID-->
  <string name="ga_trackingId">UA-XXXX-Y</string>

  <!--Enable automatic activity tracking-->
  <bool name="ga_autoActivityTracking">true</bool>

  <!--Enable automatic exception tracking-->
  <bool name="ga_reportUncaughtExceptions">true</bool>
</resources>
Run Code Online (Sandbox Code Playgroud)

但是,当涉及较新版本的Google Analytics v4(https://developers.google.com/analytics/devguides/collection/android/v4/)时,我看不到需要添加任何代码Activity.从上面的文档中,似乎我们只需要

  1. ga_autoActivityTracking manifest.xml中的标志.

Google Analytics SDK v4

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <integer name="ga_sessionTimeout">300</integer>

    <!-- Enable automatic Activity measurement -->
    <bool name="ga_autoActivityTracking">true</bool>

    <!-- The screen names that will appear in reports -->
    <screenName name="com.google.android.gms.analytics.samples.mobileplayground.ScreenviewFragment">
        AnalyticsSampleApp ScreenView
    </screenName>
    <screenName name="com.google.android.gms.analytics.samples.mobileplayground.EcommerceFragment">
        AnalyticsSampleApp EcommerceView
    </screenName>
    <!--  The following value should be replaced with correct property id. -->
    <string name="ga_trackingId">UA-XXXXXXX-Y</string>
</resources>
Run Code Online (Sandbox Code Playgroud)

但是,经过测试,似乎没有自动发送的跟踪信息Activity.

Google Analytics V4的文档是否缺少某些内容?

Che*_*eng 11

步骤1

app_tracker.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!--  The following value should be replaced with correct property id. -->
    <string name="ga_trackingId">UA-00000000-1</string>

    <!-- catch and report uncaught exceptions from the app -->
    <bool name="ga_reportUncaughtExceptions">true</bool>

    <integer name="ga_sessionTimeout">300</integer>

    <!-- Enable automatic Activity measurement -->
    <bool name="ga_autoActivityTracking">true</bool>

    <!-- The screen names that will appear in reports -->
    <screenName name="com.mypackage.NameActivity">Name Activity</screenName>

</resources>
Run Code Online (Sandbox Code Playgroud)

第2步

添加 getTracker

public static Tracker getTracker() {
    if (false == isGooglePlayServicesAvailable()) {
        return null;
    }

    if (tracker == null) {
        GoogleAnalytics analytics = GoogleAnalytics.getInstance(MyApplication.instance());
        tracker = analytics.newTracker(R.xml.app_tracker);
    }
    return tracker;
}
Run Code Online (Sandbox Code Playgroud)

第3步

在活动启动期间启用GA

public class MyFragmentActivity extends SherlockFragmentActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {        
        super.onCreate(savedInstanceState);

        Utils.getTracker();
Run Code Online (Sandbox Code Playgroud)


sna*_*ark 6

是的,GAV4似乎有一个错误.在这里这里看到答案.

对于运行API v14(Ice Cream Sandwich)或更高版本的设备enableAutoActivityReports,除了ga_autoActivityTracking在跟踪器配置文件中设置为true 之外,还需要调用.我在post v14设备上确认了这项工作(即在我的Google Analytics控制台中报告了屏幕视图).

如果你希望你的应用程序支持运行前的API 14设备,你还必须调用增加reportActivityStartreportActivityStoponStartonStop所有你要跟踪的活动.我已经确认这适用于pre v14设备.

我只用活动而不是片段来尝试这个,而且,从上面的一个链接看,自动屏幕跟踪看起来不适用于片段.