2011-04-27 73 views
0

我正在開發一個有10個活動的應用程序。我將Google和Flurry分析整合到了我的應用中。對於GA,我維護着一個全局跟蹤器對象,該對象從啓動器的活動開始,並在應用程序關閉時停止。對於Flurry而言,我將在每個活動的onCreate中開始會話,並在每個活動的onStop中停止會話。會話計數GA和Flurry分析在Android應用程序中的不匹配

現在,當我多次使用我的應用並查看GA和Flurry配置文件中的統計數據時,我發現GA顯示的訪問次數過高,而Flurry顯示的訪問次數非常低。

我猜如果會話被應用程序阻止,Flurry不會啓動一個新會話,並且我們會以10秒的時間重新啓動應用程序。這是計數之間存在差異的原因,還是代碼可能有問題。

回答

0

首先,你的應用程序的launchmode是什麼? http://developer.android.com/guide/topics/manifest/activity-element.html#lmode

如果您允許多個實例,那麼用戶可能會在同一個會話中多次點擊相同的啓動器活動,Google可能將其視爲額外的會話。

其次,onStop()不保證被調用。 onPause實際上是保證發生的最後一個狀態:http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle這可能與此沒有任何關係,因爲會話計數是從公開呼叫完成的,但無論如何都要注意。

一個有趣的測試是當應用第一次出現時,在Flurry和GA中發起「應用啓動」事件。然後你會得到一個比會話模糊得多的數據點來比較兩者,看看哪些數據超出或低於報告數。

+0

感謝Henry,我已將所有活動的launchmode設置爲「singleTask」。所以,隨時只有一個活動在堆棧中。我編寫了代碼,以便每當用戶點擊設備後退按鈕時,當前正在運行的活動將完成,因此應用程序也將完成。在設備後退按鈕的水龍頭上,我正在停止跟蹤器對象。有什麼想法嗎? – paul 2011-04-28 06:59:25

+0

我正在跟蹤應用程序啓動時的事件。當我比較某個特定日期的事件數量時,我發現Google分析顯示,該事件只是Flurry計數器的兩倍。請幫我弄清楚我做錯了什麼,或者Flurry和Google Analytics的工作有什麼不同。 – paul 2011-04-28 13:46:23

+0

我正在跟蹤應用程序啓動時的事件。當我比較某個特定日期的事件數量時,我發現Google分析顯示,該事件只是Flurry計數器的兩倍。請幫我弄清楚我做錯了什麼,或者Flurry和Google Analytics的工作有什麼不同。 – paul 2011-04-28 13:46:23

0

移動您的Flurry onStartSession來電onStart

onCreate只會被調用一次,而每當活動進入前臺時,它將通過onStart運行。 Flurry以類似於堆疊的方式對待活動。 onStartSession將一個活動放在堆棧上,onEndSession將其彈出。當某個超時後沒有剩餘時間時,SDK有效地結束會話。

通過onCreate中的onStartSession調用,您將獲得創建每項活動的有效會話,但是如果您回到該活動,則會話即將結束。將onStartSession移動到onStart修復此問題。

相關問題