Сеансы – Android SDK 2 (устаревшая версия)

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

Обзор

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

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

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

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

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

Автоматизированное управление сессиями с помощью EasyTracker

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

  • Реализация по умолчанию имеет период ожидания сеанса 30 секунд. Вы можете изменить период ожидания, изменив параметр ga_sessionTimeout в файле analytics.xml :
      <-- 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.
}