2016-03-28 5 views
0

ユーザーの操作からログを生成するモバイルアプリケーションがあります。私は以下のサンプルログをコピーしました。私はあなたが見ることができるように、単一のユーザーがアプリケーションで作業した平均時間を見つけたいと思います。私はuserIdsとそのアクションが発生した正確な時間を持っています。時間(セッション)。私は自分の問題を解決するアルゴリズムがあると確信しています。 google-analyticsのようなツールも同じことをしていますが、各セッションのユーザーアクティブ時間、平均アクティブ時間、平均セッション時間の正確な値を知りたいと思っています。ユーザーごとおよびすべてのユーザーに適用されます。ユーザーのアクションログからのセッションの計算

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()の間の時間を計算することができると思いますので、ユーザーセッションの正確な時間を1つのセッションで取得することができますアクティビティ。

+0

私は彼が上記のログからセッションを計算する方法を知りたいと思います...ネイティブのモバイル機能では...! –

+0

それは大丈夫です、彼はそれらの機能を記録することができます! onPauseとonDestroyがいつ発生したかを彼が知らなかった場合、どのようにして正確な時間を得ることができますか?私は不可能だと思う。 – jmosawy

+0

@jmosawy私はこのようなクライアントで自分のモバイルアプリケーションにアクセスすることはできません。私はユーザーのアクションログを持っています。私は自分のサーバー側にあるログからデータを計算したい。 –