2012-10-16 32 views
1

我目前在我的应用程序中使用ActionBarSherlock,我正在寻找实施Google的EasyTracker进行分析。使用EasyTracker与FragmentActivity和ActionBarSherlock

我见过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(上下文)与ga_debug参数设置为true的logcat输出?

在此先感谢:)我发现

回答

1

最好的解决办法是在增加的onSaveInstanceState一个布尔标志,从而使会话活动计数器不会递增。令人惊讶的简单所有事情都考虑到:)

相关问题