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

iOS SDK

Краткое содержание

Проверьте перед установкой

  • Требуется iOS 15.0+ или tvOS 15.0+
  • Необходим ID потока (Flow ID). Если его нет, отправьте запрос на analytics.support@mts.ru

Шаг 1. Подключение SDK

  • CocoaPods: Добавьте в Podfile указанные строки и выполните pod install.
  • Swift Package Manager: Добавьте URL проекта в Xcode.

Шаг 2. Инициализация SDK

  • Импортируйте библиотеку import MTAnalytics.
  • Настройте конфигурацию с уникальным flowId в методе application(_:didFinishLaunchingWithOptions:).

Шаг 3. Конфигурация библиотеки

  • Установите таймауты для активной и фоновой сессии (по умолчанию 1800 сек).
  • Ограничьте количество событий в хранилище (по умолчанию 20 000).
  • Настройте отправку событий в роуминге (по умолчанию включена).

Шаг 4. Отправка событий

  • Создайте экземпляр события с обязательными полями eventType и eventName.
  • Используйте метод track(event:) для отправки события.

Дополнительные методы библиотеки

  • Установите userId для связи событий с пользователем.
  • Настройте User-Agent вручную (ранее собирался автоматически).
  • Передайте данные о локации вручную.
  • Получите версию SDK через sdkVersion и sdkBuildNumber.

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

Версия 6.4.0

Release notes

Чтобы данные передавались от приложения в МТС Аналитику, настройте и установите SDK (счётчик). В этой статье пошагово описан процесс установки для разработчиков.

Проверьте перед установкой

  • iOS 15.0+
  • tvOS 15.0+
  • наличие ID потока (Flow ID)
Заметка

Если вы не получили ID потока, отправьте письмо на analytics.support@mts.ru с темой «Получение Flow ID». Идентификатор нужен для отправки данных приложения в МТС Аналитику.

Шаг 1. Подключение SDK

Варианты добавления библиотеки MTAnalytics в проект

Добавьте в Podfile

pod 'GRDB.swift', git: 'https://github.com/groue/GRDB.swift.git', tag: 'v6.29.3'
pod 'MTAnalytics'

Добавьте ссылку на библиотеку MTAnalytics в Podfile

source 'https://github.com/MTSWebServices/mts-analytics-ios-sdk'

Сохраните Podfile и введите pod install в Терминале для установки библиотеки.

Шаг 2. Инициализация SDK

  1. Для импорта библиотеки добавьте в проект
import MTAnalytics
  1. Инициализируйте библиотеку в методе application(_:didFinishLaunchingWithOptions:) вашего UIApplicationDelegate
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {

// Создание config с уникальным flowid
let configuration = MTAnalyticsConfiguration(flowId: "your-flow-id")

// Активация config
MTAnalyticsApp.configure(configuration)
}

Шаг 3. Конфигурация библиотеки

Настройте работу SDK и параметры библиотеки. Инициализация конфигурации:

let configuration = MTAnalyticsConfiguration(flowId: "FLOW_ID")

Завершение сессии

Настройка времени автоматического завершения фоновой и активной сессии

configuration.activeTimeout = 1800

configuration.backgroundTimeout = 1800
Тип сессииОписание
ActiveTimeoutДлительность сессии, если приложение будет открыто до таймаута
BackgroundTimeoutДлительность сессии, если активность в приложение остановилась, но оно будет открыто в фоновом режиме до таймаута

Возможные значения:

  • По умолчанию длительность сессии: 1800 сек.
  • Минимальное значение: 900 сек.
  • Максимальное значение: 86400 сек.
Важно

Cессия завершится только при окончательном закрытии приложении.

Аккумуляция событий в хранилище

Настройка количества событий в хранилище для отправки. Новые события будут вытеснять поступившие ранее.

configuration.eventStorageLimit = 20 000

Возможные значения:

  • По умолчанию количество событий: 20 000
  • Максимальное количество событий: 20 000
  • Минимальное количество событий: 3 000

Настройка роуминга

Настройка отправки событий в роуминговый зоне. По умолчанию отправка событий включена

configuration.networkTraffic = .on

Шаг 4. Отправка событий

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

Типы событий

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

Важно

Поля eventType и eventName — обязательные. Если их не заполнить, параметры событий передаваться не будут.

1. Создать экземпляр события

let event = MTAppEvent(
eventType: .event,
eventName: String,
screenName: String?,
parameters: [String: Any?]?
)
Заметка

В качестве ключей поля parameters в MTPerformanceEvent, MTScreen, MTError рекомендуем использовать MTAppEventDefaults.

Подробнее о ключах

2. Настроить отправку экземпляра события

Метод отправки общий для всех типов событий

MTAnalyticsApp.analytics?.track(event: event)

Дополнительные методы библиотеки

Установка User ID

Используйте глобальный идентификатор userId, чтобы связывать события с пользователем

MTAnalyticsApp.analytics?.setUserId("user_id")

После установки он будет автоматически отправляться вместе с событиями.

Важно

Есть 2 способа передачи этого идентификатора пользователя. Если userId передаётся в событии MTAppEvent, то используется это значение. Если нет, применяется глобальный userId, установленный через setUserId.

Очистка userId

Для очистки userId вызовите:

MTAnalyticsApp.analytics?.setUserId(nil)

Новые события будут формироваться без userId, события в локальной очереди отправки не изменятся.

Установка User-Agent

Заметка

Раньше User-Agent собирался автоматически, теперь его нужно установить вручную.

User-Agent — это строка, которую приложение отправляет на сервер в HTTP-запросе для идентификации себя. Используйте, чтобы передавать информацию о типе, версии и других характеристиках приложения.

MTAnalyticsApp.analytics?.setUserAgent("your_user_agent")

После установки значение будет автоматически добавляться в заголовки всех последующих HTTP-запросов SDK.

Очистка User-Agent

Для очистки вызовите

MTAnalyticsApp.analytics?.setUserAgent(nil)

Новые HTTP-запросы будут отправляться без заголовка User-Agent.

Установка локации

Чтобы регион определялся точнее, передавайте данные о локации в опциональные публичные методы. SDK МТС Аналитики не собирает их автоматически

MTAnalyticsApp.analytics?.setLocation(CLLocation(latitude: latitude, longitude: longitude))

Сведения об SDK

Для получения информации о текущей версии MTAnalytics используйте

  1. Свойство sdkVersion, которое предоставляет текущую версию SDK. Пример: «1.2.3»
MTAnalyticsApp.analytics?.sdkVersion
  1. Свойство sdkBuildNumber, которое предоставляет текущий номер сборки версии SDK. Пример: «5»
MTAnalyticsApp.analytics?.sdkBuildNumber

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

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