Flutter SDK
Краткое содержание
Проверьте перед установкой
- Убедитесь, что установлены Kotlin 1.7.10+, AGP 7.3.0+, Android SDK 21+, Target SDK 35.
- Получите ID потока (Flow ID) через письмо на analytics.support@mts.ru.
Шаг 1. Подключение SDK
- Добавьте ссылку на библиотеку
MTSAnalyticsвpubspec.yaml. - Для Android: настройте зависимости в
build.gradle, включая репозитории и плагины. - Для iOS: добавьте ссылку на
MTAnalyticsвPodfile.
Шаг 2. Инициализация и конфигурация SDK
- Создайте объект
MtsAnalyticsConfig, указавandroidFlowIdиiosFlowId. - Настройте параметры: логирование, отслеживание геолокации, таймауты, лимиты событий и т.д.
Обновление конфигурации
Используйте updateConfig, чтобы изменить параметры в рантайме без перезапуска приложения.
Шаг 3. Отправка событий
- Создайте событие с обязательным полем
eventName. - Используйте методы
trackEvent,trackEventWithParameterи др. для отправки данных. - Для геолокации вызовите
setLocation(latitude, longitude).
Работа с deeplink
Зарегистрируйтесь в Link Manager и настройте приложение для создания ссылок, совместимых с iOS и Android.
Версия 3.2.0
Чтобы данные передавались от приложения в МТС Аналитику, настройте и установите SDK (счётчик). В этой статье пошагово описан процесс установки для разработчиков.
Проверьте перед установкой
- Kotlin 1.7.10+ / iOS 12.0+
- AGP 7.3.0+
- Android SDK 21+
- Target SDK 35
- наличие ID потока (Flow ID)
Если вы не получили ID потока, отправьте письмо на analytics.support@mts.ru с темой «Получение Flow ID». Идентификатор нужен для отправки данных с вашего ресурса в МТС Аналитику.
Шаг 1. Подключение SDK
Установите ссылку на библиотеку MTSAnalytics в pubspec.yaml
mts_analytics_plugin:
git:
url: git@github.com:MobileTeleSystems/mts-analytics-flutter-sdk.git
ref: latest_version
- Android
- iOS
В файл build.gradle модуля, к которому подключается SDK, добавьте зависимости на maven-репозитории
buildscript {
ext.kotlin_version = '1.7.10'
repositories {
google()
mavenCentral()
maven {url 'https://developer.huawei.com/repo/'}
maven {
name "mts_analytics_sdk_external"
url "https://packages.a.mts.ru/repository/maven-releases/"
}
}
dependencies {
classpath 'com.android.tools.build:gradle:7.3.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
allprojects {
repositories {
google()
mavenCentral()
maven {url 'https://developer.huawei.com/repo/'}
maven {
name "mts_analytics_sdk_external"
url "https://packages.a.mts.ru/repository/maven-releases/"
}
}
}
rootProject.buildDir = "../build"
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
project.evaluationDependsOn(':app')
}
tasks.register("clean", Delete) {
delete rootProject.buildDir
}
Установите ссылку на библиотеку MTAnalytics в Podfile
https://github.com/MTSWebServices/mts-analytics-ios-sdk
Шаг 2. Инициализация и конфигурация SDK
При инициализации Config предаётся с параметром androidFlowId или iosFlowId. Необходимо получить flowId для каждой платформы.
Пример:
MtsAnalyticsConfig config = MtsAnalyticsConfig()
..logLevel = LogLevel.DEBUG
..locationTrackingEnabled = true (ios only)
..crashReportingEnabled = true
..backgroundTimeout = 120
..activeTimeout = 90
..idleTimeout = IdleTimeout.MEDIUM
..sendRetryTimeout = 15
..eventStorageLimit = 3000
..batchSize = BatchSize.single
..networkTrafficEnabled = false
..androidFlowId = ""
..iosFlowId = "";
MtsAnalyticsPlugin().init(config);
Обновление конфигурации
Конфигурацию можно обновить в рантайме. Это полезно, если нужно изменить параметры без перезапуска приложения. Для этого используйте updateConfig
MtsAnalyticsConfig config = MtsAnalyticsConfig()
..logLevel = LogLevel.OFF
..locationTrackingEnabled = true (ios only)
..crashReportingEnabled = false
..backgroundTimeout = 20
..activeTimeout = 45
..idleTimeout = IdleTimeout.SMALL
..sendRetryTimeout = 23
..eventStorageLimit = 1500
..batchSize = BatchSize.basic
..networkTrafficEnabled = true
..androidFlowId = ""
..iosFlowId = "";
MtsAnalyticsPlugin().updateConfig(config);
Шаг 3. Отправка событий
Для настройки обмена данными между устройством Android или iOS и МТС Аналитикой создайте экземпляр события и запустите его отправку. Чтобы события отправлялись корректно, согласуйте пары ключ-значение параметров, которые планируется отслеживать.
Подробнее про типы событий и заполнение полей
Поле eventName — обязательное. Если его не заполнить, параметры событий передаваться не будут
MtsAnalyticsPlugin().trackEvent
MtsAnalyticsPlugin().trackEventName(eventName)
MtsAnalyticsPlugin().trackEventWithParameter(eventName, key);
MtsAnalyticsPlugin().trackEventWithKeyValue(eventName, key, value);
MtsAnalyticsPlugin().trackEventWithMap(eventName, map);
Отправка геолокации
double latitude = 55.75;
double longitude = 37.6167;
mtsAnalyticsPlugin.setLocation(latitude, longitude);
Работа с deeplink
Используя Link Manager, вы сможете создать единую ссылку (deeplink) для перехода на разные платформы и направлять аудиторию на нужный контент. Для этого: