将谷歌分析跟踪器添加到片段

时间:2017-04-14 09:31:14

标签: android android-fragments google-analytics

我正在将谷歌分析整合到我的应用程序中,涵盖所有活动和片段。 参考developer docs,我可以轻松地将跟踪器与活动联系起来。

AnalyticsApplication application = (AnalyticsApplication) getApplication();
mTracker = application.getDefaultTracker();

但是如何使用片段获取共享的Tracker实例?每个片段代表一个屏幕视图。

另外,如何获取在配置的每个ScreenName上花费的时间?

1 个答案:

答案 0 :(得分:0)

在你的应用程序类中,写下这个..

private Tracker mTracker;

/**
 * Gets the default {@link Tracker} for this {@link Application}.
 *
 * @return tracker
 */
synchronized public Tracker getDefaultTracker() {
    if (mTracker == null) {
        GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
        // To enable debug logging use: adb shell setprop log.tag.GAv4 DEBUG
        mTracker = analytics.newTracker(R.xml.app_tracker);
    }
    return mTracker;
}

public void trackEvent(String category, String action, String label) {
    Tracker traker = getDefaultTracker();
    // Build and send an Event.
    traker.send(new HitBuilders.EventBuilder().setCategory(category).setAction(action).setLabel(label).build());
}

现在,您要在每个片段中跟踪事件,然后执行此操作

 YourApplicationClass.getInstance().trackEvent("Category", "Action", "Label");

要从片段发送您的屏幕名称,请执行此操作

   YourApplcationClass application = (YourApplcationClass) getActivity().getApplication();
    mTracker = application.getDefaultTracker();
    mTracker.setScreenName("FragmentName");