工作階段 - Android SDK v2 (舊版)

本文件概略介紹 Google Mobile App Analytics (分析) 和 Android 第 2 版的 Google Analytics (分析) SDK,以及管理應用程式工作階段時可用的各種方法。

總覽

「工作階段」代表使用者與應用程式互動的一段時間。工作階段可做為已評估活動的實用容器,包括畫面瀏覽、事件和電子商務交易。

根據預設,Google Analytics (分析) 會將相彼此相近的 30 分鐘內收到的命中歸入同一個工作階段。不過,許多開發人員可能想要實作額外的工作階段管理層,將應用程式的狀態納入考量,例如應用程式在背景執行的時間以及持續時間。

本文件的其餘部分將說明可實作該邏輯的方法。您可以選擇使用 EasyTracker 提供的全自動化工作階段管理、手動建構自己的工作階段管理邏輯,或是混用兩者。

管理工作階段

以下章節將說明您運用哪些方法管理應用程式中的工作階段。

使用 EasyTracker 自動管理工作階段

EasyTracker 提供自動化的工作階段管理功能,可為您處理啟動新工作階段的工作。以下概略說明自動工作階段管理的運作方式:

  • 預設實作方式的工作階段逾時期限為 30 秒。您可以在 analytics.xml 檔案中修改 ga_sessionTimeout 參數,以變更逾時期間:
      <-- Set session time out to 60 seconds -- >
      <integer name="ga_sessionTimeout">60</integer>
  • 如果應用程式會在背景中停留的時間超過工作階段逾時期限,EasyTracker 會標記是否需要新的工作階段,而下一次命中會包含新工作階段。

手動管理工作階段

即使您使用 EasyTracker 的自動化工作階段管理機制,在應用程式生命週期的重要事件中手動啟動新的工作階段也很有用。

舉例來說,您可能想要在每次使用者成功登入應用程式時手動啟動新的工作階段。由於使用者在使用應用程式的意圖可能有所變更,或是對使用者來說可能是不同的使用者,因此在登入後啟動新的工作階段有助於區隔使用資料,並使報表更容易理解。

如要開始新的工作階段,請呼叫 setStartSession(true)。這樣會在下一個已傳送的命中中加入參數,指出該參數應啟動新的工作階段。

在以下範例中,我們假設每當使用者成功登入應用程式時,系統就會呼叫 onSignIn()

// Called after a user successfully signs in to your app.
private void onSignIn() {
  ... // The rest of your onSignIn() code.
  myTracker.setStartSession(true); // Where myTracker is an instance of Tracker.
  myTracker.sendEvent("app_flow", "sign_in", "", null); // First activity of new session.
}