Android SDK
Краткое содержание
Версия 2.8.0
Для передачи данных от приложения в МТС Аналитику необходимо настроить и установить SDK. В статье описан пошаговый процесс установки для разработчиков.
Проверьте перед установкой
Чтобы интеграция прошла успешно, убедитесь, что проект соответствует требованиям: Android, Kotlin, minSDK 23, targetSDK и compiledSDK равны 36. Также необходим ID потока (Flow ID). Если идентификатор отсутствует, направьте запрос на analytics.support@mts.ru с темой «Получение Flow ID», так как он критически важен для отправки данных.
Подключение SDK
Для подключения библиотеки добавьте репозиторий mts_analytics_sdk в settings.gradle или build.gradle проекта. В файл build.gradle модуля добавьте зависимость implementation "ru.mts.analytics:android-sdk-google-v2:$mts_analytics_version".
Доступны альтернативные версии библиотеки:
- Huawei
- Google и Huawei
- без Google и Huawei
Использование версии без сервисов Google и Huawei позволяет сократить зависимости, но SDK перестанет собирать основные идентификаторы, что может снизить точность аналитики.
Инициализация SDK
В классе Application выполните инициализацию библиотеки через MTSAnalytics.getInstance, передав контекст и конфигурацию. Обязательным параметром является flowId. Если этот параметр не указан, возникнет ошибка IllegalArgumentException.
Конфигурация библиотеки
В классе Application настройте параметры SDK через MtsAnalyticsConfig.Builder. Доступны следующие опции:
- Обновление конфигурации: Параметры можно менять в рантайме без перезапуска приложения. Изменения применяются через
getInstanceилиupdateConfig. Менять Flow ID не рекомендуется, чтобы не нарушить передачу данных. - Сеть: Параметр
networkTrafficEnabledуправ ляет отправкой событий в зависимости от типа сети. По умолчанию включен. - Отлов ошибок: Можно настроить сбор крэшей (
crashReportingEnabled,nativeCrashReportingEnabled) и мониторинг ANR (isAnrMonitoring,anrMonitoringTimeout). По умолчанию эти функции отключены. - Performance: Включите
collectAppStartMetricsEnabledдля замера времени отрисовки первого экрана иcollectUIMetricsEnabledдля отслеживания замедления кадров. По умолчанию отключено. - Завершение сессии: Настройте таймауты активной (
activeTimeout) и фоновой (backgroundTimeout) сессий. Диапазон значений: от 900 до 86 400 секунд. Сессия завершается при полном закрытии приложения. - Аккумуляция событий: Параметр
eventStorageLimitопределяет максимальное количество событий в хранилище (от 3 000 до 20 000). При проблемах с сетью или высокой интенсивности событий хранилище заполняется быстрее. - Поддержка слабых девайсов: Режим
allowFallbackModeхранит события только в оперативной памяти. В этом режиме неотправленные события удаляются при закрытии приложения, а при нехватке места (менее 100 МБ) включается о птимизация. - Логирование: Уровень логирования настраивается через
LogLevel. Можно использовать собственную реализацию логера черезLoggerDelegate. - Установки: Метод
subscribeForInstallReferrerпозволяет получать данные об установке приложения.
В тексте вы найдете руководство по решению задачи настройки параметров отправки событий, отлова ошибок и управления сессиями.
Отправка событий
Создайте экземпляр события и передайте его через метод track. Поле eventName является обязательным.
Метод track поддерживает различные варианты передачи параметров:
- Объект события
- Имя события
- Имя события и пара ключ-значение
- Имя события и массив пар
- Имя события и карта параметров
Разрешения
Для корректной работы SDK требуются следующие разрешения:
ACCESS_NETWORK_STATE— для определения наличия сети.INTERNET— для доступа к интернету.com.google.android.gms.permission.AD_ID— для получения AdvertisingId.
Дополнительные методы библиотеки
- Отслеживание геолокации: SDK не собирает геоданные автоматически. Используйте метод
setLocationдля передачи координат вручную. - Установка User ID: Метод
setUserIdпозволяет связать события с пользователем. Идентификатор сохраняется между перезапусками. ЕслиuserIdпередан в конкретном событии, используется он; иначе применяется глобальный ID. Для очистки передайтеnullили пустую строку. - Установка User-Agent: Теперь требуется устанавливать User-Agent вручную через метод
setUserAgent. Значение хранится в оперативной памяти и не сохраняется после перезапуска.
Просмотр данных
Статистика по событиям доступна в отчетах МТС Аналитики и через Data API.
Версия 2.8.0
Чтобы данные передавались от приложения в МТС Аналитику, настройте и установите SDK (счётчик). В этой статье пошагово описан процесс установки для разработчиков.
Проверьте перед установкой
- Android, Kotlin
- minSDK = 23
- targetSDK = 36
- compiledSDK = 36
- наличие ID потока (Flow ID)
Если вы не получили ID потока, отправьте письмо на analytics.support@mts.ru с темой «Получение Flow ID». Идентификатор нужен для отправки данных с вашего ресурса в МТС Аналитику.
Шаг 1. Подключение SDK
- Установите ссылку на артефакты библиотеки. Для настройки параметров сборки в корневой папке проекта —
settings.gradleдобавьте
pluginManagement {
repositories {
}
}
dependencyResolutionManagement {
repositories {
maven {
name "mts_analytics_sdk"
url "https://packages.a.mts.ru/repository/maven-releases/"
}
}
}
Если не получается добавить библиотеку, используйте альтернативный скрипт. Добавьте его в build.gradle проекта
aallprojects {
repositories {
maven {
name "mts_analytics_sdk"
url "https://packages.a.mts.ru/repository/maven-releases/"
}
}
}
- В файл
build.gradleмодуля, к которому подключается SDK, добавьте
implementation "ru.mts.analytics:android-sdk-google-v2:$mts_analytics_version"
Дополнительные версии библиотеки
- Huawei
- Google и Huawei
- без Google и Huawei
googleImplementation "ru.mts.analytics:android-sdk-google-v2:$mts_analytics_version"
huaweiImplementation "ru.mts.analytics:android-sdk-huawei-v2:$mts_analytics_version"
allservImplementation "ru.mts.analytics:android-sdk-allserv-v2:$mts_analytics_version"
noservImplementation "ru.mts.analytics:android-sdk-noserv-v2:$mts_analytics_version"
Можно использовать версию без Google и Huawei, если хотите сократить количество зависимостей. Мы не рекомендуем так делать, — SDK не будет собирать основные идентификаторы. Это может снизить точность и полезность аналитики.