2012-10-16 86 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一個布爾標誌,從而使會話活動計數器不會遞增。令人驚訝的簡單所有事情都考慮到:)

相關問題