Отслеживание активности пользователей

Внимание.

Это архивная версия документации. Актуальная документация по всем платформам находится здесь.

Сессия в AppMetrica — это некоторый период взаимодействия пользователя с вашим приложением.

По умолчанию AppMetrica считает сессию новой, если пользователь вернулся в приложение через продолжительный промежуток времени после того, как приложение переключилось в фоновый режим (пользователь свернул приложение, открыл системные настройки).

  1. Установка длительности тайм-аута сессии
  2. Отслеживание сессий вручную

Установка длительности тайм-аута сессии

Чтобы изменить длительность тайм-аута, передайте значение в секундах в свойство sessionTimeout конфигурации YMMYandexMetricaConfiguration.

По умолчанию длительность тайм-аута сессии равна 10 секундам. Это минимально допустимое значение свойства sessionTimeout.

// Creating an extended library configuration.
YMMYandexMetricaConfiguration *configuration = [[YMMYandexMetricaConfiguration alloc] initWithApiKey:@"API_key"];
// Setting the session timeout.
configuration.sessionTimeout = 15;
// Initializing the AppMetrica SDK.
[YMMYandexMetrica activateWithConfiguration:configuration];
Скопировано

Отслеживание сессий вручную

По умолчанию AppMetrica отслеживает жизненный цикл приложения в автоматическом режиме. Чтобы отслеживать сессии вручную:
  1. Инициализируйте библиотеку с выключенным автоматическим отслеживанием сессий sessionsAutoTracking.
    // Creating an extended library configuration.
    YMMYandexMetricaConfiguration *configuration = [[YMMYandexMetricaConfiguration alloc] initWithApiKey:API_key];
    // Disabling automatic tracking user activity.
    configuration.sessionsAutoTracking = NO;
    ...
    // Initializing the AppMetrica SDK.
    [YMMYandexMetrica activateWithConfiguration:configuration];
    Скопировано
  2. Настройте контроль сессий с помощью методов +resumeSession: и +pauseSession:.
    [YMMYandexMetrica resumeSession];
    ...
    [YMMYandexMetrica pauseSession];
    Скопировано
При использовании ручного отслеживания убедитесь, что активная сессия всегда завершается вызовом метода +pauseSession:. Если вы не вызовете метод +pauseSession:, сессия будет завершена при следующем запуске приложения.

Для корректного отслеживания сессий репортеров необходимо вручную настроить отправку событий о начале и приостановке сессии для каждого репортера:

id<YMMYandexMetricaReporting> reporter = [YMMYandexMetrica reporterForApiKey:API_key];
[reporter resumeSession];
...
[reporter reportEvent:@"Updates installed" onFailure:^(NSError *error) {
    NSLog(@"REPORT ERROR: %@", [error localizedDescription]);
}];
...
[reporter pauseSession];
Скопировано

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