在你的應用程序類,你要跟蹤的事件每個片段寫這個..
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");
目前我已經把從MainActivity獲得的跟蹤器放在全局範圍內,並且在必要的frag中使用了實例但我正在尋找更好的做法。 – jay
檢查[這](http://stackoverflow.com/questions/36458222/getdefaulttracker-from-a-class-that-extends-inputmethodservice) –