2016-06-10 68 views
3

我試圖跟蹤用戶在一天內花費在我的應用程序上的時間,並將此數據發送到我的服務器。我想知道的是谷歌分析可以爲我做這項工作,我搜索關於這一點,我來了解谷歌分析可以測量屏幕視圖允許您查看哪些內容正在被用戶查看最多,以及他們如何在不同的內容之間瀏覽。 我想要谷歌分析做會話跟蹤?(我還沒有找到這個)。 如果谷歌解析不做這項工作,你可以建議我,我是如何手動做的,我只需要一個粗略的草圖。在Android應用程序中跟蹤用戶會話

+1

我知道發送部分(我可以通過服務使用它),只是想知道我如何跟蹤我的應用程序。 –

回答

1

創建自己的CustomApplication類,並使其延長Application,然後重寫onCreate方法,當你的應用程序中打開此方法將被調用,並在那裏,你可以在會議開始時間發送到服務器。然後覆蓋onDestroy方法,該方法將在應用程序關閉時調用,並在那裏將會話的結束時間發送到您的服務器。

使用ID將正確的開始時間與正確的結束時間相匹配。然後在您的服務器上,您可以輕鬆調整結束時間和開始時間之間的差異,以確定用戶在您的應用上花費的時間。然後,您可以將一天中的所有會話時間加起來,這樣您就可以在特定的一天中獲得用戶在您的應用上花費的總時間。

1

我不知道谷歌的分析,但沒有你可以嘗試使用基於onResume()和onPause()方法的Activity。

以這種方式實現BaseActivity並將其與其他活動一起擴展。

public class BaseActivity extends Activity { 

    private long start; 

    @Override 
    protected void onResume() { 
     super.onResume(); 
     start = System.currentTimeMillis(); 
    } 

    @Override 
    protected void onPause() { 
     super.onPause(); 
     long elapsedTime = System.currentTimeMillis() - start; 
     saveSomewhere(elapsedTime); // some storing procedure 
    } 
} 

每當Activity獲得焦點時,就調用Resume並獲取開始時間。當活動失焦時,將調用onPause並計算elapsedTime。 你只需要決定如何使用和存儲那個時間。