工作階段 - iOS SDK

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

總覽

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

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

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

管理工作階段

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

自動工作階段管理

iOS 版 Google Analytics (分析) SDK 提供自動化工作階段管理,可為您處理啟動新工作階段的工作。以下概略說明自動工作階段管理的運作方式:

  • 預設實作的工作階段逾時期限為 30 秒。您可以呼叫 setSessionTimeout:(NSTimeInterval) 來變更逾時期限:
      [tracker setSessionTimeout:60];
  • 如果應用程式在背景中保持的時間超過工作階段逾時期限,下一次命中就會納入新工作階段。

手動管理工作階段

在應用程式生命週期中,在重要事件手動啟動新的工作階段可能會很有幫助。

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

如要開始新的工作階段,請將 sessionStart 設為 YES。這樣會在下一個已傳送的命中中加入參數,指出該參數應啟動新的工作階段。

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

// Called after a user successfully signs in to your app.
- (void)onSignIn {
  ... // The rest of your onSignIn code.
  tracker.sessionStart = YES;
  [tracker sendEventWithCategory:@"app_flow"
                      withAction:@"sign_in"
                       withLabel:nil
                       withValue:nil]; // First activity of new session.

}