2016-03-28 85 views
0

我們有一個移動應用程序,它可以根據用戶的操作生成日誌。我在下面複製了示例日誌,我想查找單個用戶使用該應用程序的平均時間,因爲您可以看到我擁有userIds以及發生操作的確切時間,問題是我無法找到用戶使用情況時間(會話)。我確信有一種算法可以解決我的問題。我知道像谷歌分析這樣的工具也是如此,但我想知道每個會話中用戶活躍時間的確切值,平均活動時間和平均會話時間;每個用戶和所有用戶。從用戶的操作日誌計算會話

ID UserID Action ActionID CreatedDateTime 
6452477 54261 37 30889 2016-03-28 08:41:43.110 
6452476 54261 37 30889 2016-03-28 08:41:42.590 
6452475 54261 37 30889 2016-03-28 08:41:42.590 
6452474 54261 45 30889 2016-03-28 08:41:42.030 
6452473 54261 45 30889 2016-03-28 08:41:42.030 
6452472 40906 81 20  2016-03-28 08:41:32.853 
6452471 40906 22 210718 2016-03-28 08:41:32.003 
6452470 22812 15 58598 2016-03-28 08:41:29.913 
6452469 54261 81 0  2016-03-28 08:41:29.717 
6452468 54261 81 0  2016-03-28 08:41:29.700 
6452467 22812 15 58598 2016-03-28 08:41:22.233 
6452466 22812 15 58598 2016-03-28 08:41:22.040 
6452465 22812 25 58598 2016-03-28 08:41:22.020 
6452464 22812 15 58598 2016-03-28 08:41:22.017 
6452463 40906 81 10  2016-03-28 08:41:02.023 
6452462 38296 32 31237 2016-03-28 08:41:01.970 
6452461 455  32 29596 2016-03-28 08:41:01.967 
6452460 38258 22 210717 2016-03-28 08:40:58.930 
6452459 22812 412 -1  2016-03-28 08:40:56.860 
6452458 22812 82 0  2016-03-28 08:40:52.820 

回答

-1

那麼,據我所知,有一些功能,當一些特殊事件發生時會被執行。例如,onResume(),onDestroy(),onPause()onCreate()。這些是針對Android的,我知道有一些適用於iOS和其他平臺。 當你想獲得一個用戶的會話時間時,我認爲可以計算出onCreate()onDestroy()以及onResume()onPause()之間的時間,這樣你就可以在一個單一的時間內獲得用戶會話的確切時間活動。

+0

我想他想知道如何從上面的日誌計算會話...不與本機的移動功能......! –

+0

沒關係,他可以登錄這些功能!如果他不知道OnPause和onDestroy是什麼時候發生的,他將如何獲得準確的時間?我認爲這是不可能的。 – jmosawy

+0

@jmosawy我沒有這樣的客戶端訪問我的移動應用程序。我有我的用戶'操作'日誌。我想從服務器端的日誌中計算數據。 –