Отслеживание активности пользователей
Сессия в 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 отслеживает жизненный цикл приложения в автоматическом режиме. Чтобы отслеживать сессии вручную:
-
Инициализируйте библиотеку с выключенным автоматическим отслеживанием сессий
sessionsAutoTracking
.SwiftObjective-C// 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];
-
Настройте контроль сессий с помощью методов
resumeSession
иpauseSession
.SwiftObjective-CAppMetrica.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];
Если вы не нашли ответ на свой вопрос, то вы можете задать его через форму обратной связи. Пожалуйста, опишите возникшую проблему как можно подробнее. Если возможно, приложите скриншот.