在你的应用程序类,你要跟踪的事件每个片段写这个..
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) –