问题描述
|
我正在尝试在我的应用程序中使用此功能(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中重复此代码。
谁能解释哪种方法更好,为什么呢?
谢谢。
解决方法
这:Android应用中的Google Analytics(分析)-处理多种活动
对于提出在Android应用中使用Google Analytics(分析)的策略非常有用。
本质上,您不应该为每个活动调用start()/ stop(),因为start()会导致记录新的访问,而这并不是大多数人想要的或期望的。但是,如果这是您想要的行为,那么您可以自由地这样做。
正如Lukas使用单例所说或使用Application上下文调用start()/ stop()可以使您获得更准确的跟踪,但是在调用stop()时需要注意一些警告。上面的链接会更详细。
, 为什么不为跟踪器功能创建一个类并创建一个单例呢?
然后,此类可以容纳您需要的所有功能(例如跟踪页面视图)并为您完成所有后台工作。