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

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

В файл 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. Отправка событий

Создайте экземпляр события и передайте его. Чтобы события отправлялись корректно, настройте пары ключ-значение параметров, которые планируете отслеживать.

Подробнее про типы событий и заполнение полей

Важно

Поле 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);

Шаг 4. Просмотр данных

Статистика по передаваемым событиям доступна в отчётах МТС Аналитики и через Data API.