Google Analytics自动活动检测 - 您可以从中排除单个活动吗?

Zak*_*rdi 6 android google-analytics google-analytics-firebase google-analytics-sdk

自动活动检测很棒 - 除了我MainActivity是一堆带有导航抽屉的不同片段(如Google Play音乐或Play商店).我正在使用手动屏幕命中来跟踪该活动中的碎片.

因此,我的自动屏幕打击MainActivity毫无意义,污染了我的统计数据.我能否MainActivity以这种方式排除我的被追踪?

参考:https://developers.google.com/analytics/devguides/collection/android/v4/screens#automatic

Ale*_*uti 0

只需设置enableAutoActivityTracking(false)为activity中获取的Tracker实例即可。

假设您按照官方文档getDefaultTracker()中所述在 Application 类中创建了一个方法,您可以为您的应用程序活动创建一个父类,该父类可以根据需要更改自动跟踪行为:

public abstract class ParentActivity extends Activity {

    Tracker mTracker = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getTracker();
    }

    /* Obtains Google Analytics Tracker for this activity */
    Tracker getTracker() {
        if (mTracker == null) {
            AnalyticsApplication application = (AnalyticsApplication) getApplication();
            mTracker = application.getDefaultTracker();
            // Enable or disable auto-tracking for this activity
            mTracker.enableAutoActivityTracking(shouldAutoTrack());
        }
        return mTracker;
    }

    /* Defines whether this activity should enable auto-track or not. Default is true. */
    protected boolean shouldAutoTrack() {
        return true;
    }
}
Run Code Online (Sandbox Code Playgroud)

您的主要活动只需扩展 ParentActivity 并重写shouldAutoTrack方法即可返回 false:

public class MainActivity extends ParentActivity {

    /* Disable auto-tracking for this activity */
    protected boolean shouldAutoTrack() {
        return false;
    }

}
Run Code Online (Sandbox Code Playgroud)