使用EasyTracker与FragmentActivity和ActionBarSherlock

时间:2012-10-16 23:40:12

标签: android google-analytics actionbarsherlock

我目前正在我的应用中使用ActionBarSherlock,我正在寻求实施Google的EasyTracker进行分析。

我已经看到TrackedActivity只是在生命周期的不同部分调用sevaral函数(getTracker(),trackStartActivity(Context),trackActivityStop(Context)和trackActivityRetainNonConfigurationInstance())。

由于我已经将SherlockFragmentActivity扩展为我的基类,因此我需要将这些调用包含在生命周期的各个部分中。我遇到的一个问题是接下来的电话:

@Override
public Object onRetainNonConfigurationInstance() 
{
     Object o = super.onRetainNonConfigurationInstance();

     // This call is needed to ensure that configuration changes (like
     // orientation) don't result in new sessions.  Remove this line if you want
     // configuration changes to for a new session in Google Analytics.
     EasyTracker.getTracker().trackActivityRetainNonConfigurationInstance();
     return o;
}

问题是这个调用在FragmentActivity中是最终的,所以我认为它不能被覆盖。

我应该如何处理轮换,以便新会话不会扰乱服务器发送的数据?

另外,作为附注,是否应该通过调用trackStartActivity(Context)来设置logcat输出,并将ga_debug参数设置为true?

提前感谢:)

1 个答案:

答案 0 :(得分:1)

我发现的最佳解决方案是在onSaveInstanceState中添加一个布尔标志,以便会话活动计数器不会递增。令人惊讶的简单考虑所有事情:)