Сессии – iOS SDK

В этом документе представлен общий обзор сеансов в Google Mobile App Analytics и Google Analytics SDK для iOS v2, а также описаны различные методы, доступные для управления сеансами в вашем приложении.

Обзор

Сеанс представляет собой один период взаимодействия пользователя с вашим приложением. Сеансы служат полезными контейнерами измеряемой активности, включая просмотры экрана, события и транзакции электронной торговли.

По умолчанию Google Analytics группирует обращения, полученные с разницей в 30 минут, в один и тот же сеанс. Однако многие разработчики могут захотеть реализовать дополнительный уровень управления сеансами, который учитывает состояние их приложения, например, когда приложение находится в фоновом режиме и как долго.

В оставшейся части этого документа будут описаны методы, доступные для реализации этой логики. Ваши варианты варьируются от полностью автоматического управления сеансами, предоставляемого EasyTracker, до создания собственной логики управления сеансами вручную или использования сочетания того и другого.

Управление сессиями

В следующем разделе будут описаны доступные вам методы управления сеансами в вашем приложении.

Автоматизированное управление сеансами

Google Analytics SDK для iOS обеспечивает автоматическое управление сеансами, которое может выполнять работу по запуску новых сеансов за вас. Вот обзор того, как работает автоматическое управление сеансами:

  • Реализация по умолчанию имеет период ожидания сеанса 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.

}