我正在尝试在我的应用中使用此功能(Google Analytics),但无法弄清楚最佳方法是什么。
首先,我开始在应用程序的每个Activity中实现它。
public class MyActivity extends Activity {
public static GoogleAnalyticsTracker tracker;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
tracker = GoogleAnalyticsTracker.getInstance();
tracker.start("UA-YOUR-ACCOUNT-HERE", this);
tracker.trackPageView("/myActivityView");
}
@Override
public void onDestroy() {
// Stop the tracker when it is no longer needed.
tracker.stop();
super.onDestroy();
}
}
但是现在我认为最好只在Application类中创建一个跟踪器并从每个Activity引用它,而不是在我创建的每个Activity中重复此代码。
任何人都可以解释哪种方式更好,为什么?
感谢。
答案 0 :(得分:3)
这:Google Analytics in Android app - dealing with multiple activities
对于提出在Android应用中使用Google Analytics的策略是一个很好的阅读。
实质上,您不应该为每个活动调用start()/ stop()因为start()会导致记录新的访问,这不是大多数人想要或期望的。但是,如果这是您想要的行为,您可以自由地这样做。
正如Lukas所说使用单例或正如您所说的使用Application上下文调用start()/ stop()会让您获得更准确的跟踪,但是在调用您需要注意的stop()时会有一些警告。上面的链接更详细。
答案 1 :(得分:0)
为什么不为跟踪器功能创建一个类并创建一个singleton?
然后,该课程可以保存您需要的所有功能(例如跟踪页面视图),并为您完成所有后台工作。