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

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

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

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

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

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

// Creating an extended library configuration.
let configuration = AppMetricaConfiguration(apiKey: "API key")
// Setting the session timeout.
configuration?.sessionTimeout = 15
// Initializing the AppMetrica SDK.
AppMetrica.activate(with: configuration!)

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

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

// Creating an extended library configuration.
AMAAppMetricaConfiguration *configuration = [[AMAAppMetricaConfiguration alloc] initWithAPIKey:@"API key"];
// Setting the session timeout.
configuration.sessionTimeout = 15;
// Initializing the AppMetrica SDK.
[AMAAppMetrica activateWithConfiguration:configuration];

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

По умолчанию AppMetrica отслеживает жизненный цикл приложения в автоматическом режиме. Чтобы отслеживать сессии вручную:

  1. Инициализируйте библиотеку с выключенным автоматическим отслеживанием сессий sessionsAutoTracking.

    // Creating an extended library configuration.
    if let configuration = AppMetricaConfiguration(apiKey: "API key") {
       // Disabling automatic tracking user activity.
       configuration.sessionsAutoTracking = false
       // ...
       // Initializing the AppMetrica SDK.
       AppMetrica.activate(with: configuration)
    }
    
    // Creating an extended library configuration.
    AMAAppMetricaConfiguration *configuration = [[AMAAppMetricaConfiguration alloc] initWithAPIKey:@"API key"];
    // Disabling automatic tracking user activity.
    configuration.sessionsAutoTracking = NO;
    // ...
    // Initializing the AppMetrica SDK.
    [AMAAppMetrica activateWithConfiguration:configuration];
    
  2. Настройте контроль сессий с помощью методов resumeSession и pauseSession.

    AppMetrica.resumeSession()
    // ...
    AppMetrica.pauseSession()
    
    [AMAAppMetrica resumeSession];
    // ...
    [AMAAppMetrica pauseSession];
    

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

Отслеживание сессий для репортеров

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

guard let reporter = AppMetrica.reporter(for: "API key") else {
    print("AppMetrica reporter initialization failed.")
    return // or return someDefaultValue or throw someError
}
reporter.resumeSession()
// ...
reporter.reportEvent(name: "Updates installed", onFailure: { (error) in
    print("REPORT ERROR: \(error.localizedDescription)")
})
// ...
reporter.pauseSession()
id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:@"API key"];
[reporter resumeSession];
// ...
[reporter reportEvent:@"Updates installed" onFailure:^(NSError *error) {
    NSLog(@"REPORT ERROR: %@", [error localizedDescription]);
}];
// ...
[reporter pauseSession];

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

Написать в службу поддержки