Перейти к основному содержимому

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

В файл 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
}

Шаг 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);

Используя Link Manager, вы сможете создать единую ссылку (deeplink) для перехода на разные платформы и направлять аудиторию на нужный контент. Для этого:

  1. Зарегистрируйтесь в Link Manager.
  2. Настройте приложение