Flutter SDK
Краткое содержание
Проверьте перед установкой
- Убедитесь, что установлены Kotlin 1.7.10+, AGP 7.3.0+, Android SDK 21+, Target SDK 35.
- Получите ID потока (Flow ID) через email на analytics.support@mts.ru, если его нет.
Шаг 1. Подключение SDK
- Добавьте ссылку на библиотеку
MTSAnalyticsвpubspec.yaml. - Для Android: добавьте зависимости в
build.gradleс указанием репозиториев. - Для iOS: укажите ссылку на библиотеку
MTAnalyticsвPodfile.
Шаг 2. Инициализация и конфигурация SDK
- Используйте
MtsAnalyticsConfigдля настройки параметров, включаяandroidFlowIdиiosFlowId. - Настройки включают логирование, отслеживание геолокации, таймауты и лимиты событий.
Обновление конфигурации
Измените параметры SDK в рантайме с помощью updateConfig, чтобы избежать перезапуска приложения.
Шаг 3. Отправка событий
- Создайте события с обязательным полем
eventName. - Используйте методы
trackEvent,trackEventWithParameterи др. для передачи данных. - Отправьте геолокацию через
setLocation(latitude, longitude).
Шаг 4. Просмотр данных
Статистика событий доступна в отчётах МТС Аналитики и через Data API.
Версия 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:MTSWebServices/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. Отправка событий
Создайте экземпляр события и передайте его. Чтобы события отправлялись корректно, настройте пары ключ-значение параметров, которые планируете отслеживать.
Подробнее про типы событий и заполнение полей
Поле eventName — обязательное. Если его не заполнить, параметры событий передаваться не будут
MtsAnalyticsPlugin().trackEvent
MtsAnalyticsPlugin().trackEventName(eventName)
MtsAnalyticsPlugin().trackEventWithParameter(eventName, key);
MtsAnalyticsPlugin().trackEventWithKeyValue(eventName, key, value);
MtsAnalyticsPlugin().trackEventWithMap(eventName, map);