iOS SDK
Краткое содержание
Версия 6.6.0
Для передачи данных от приложения в МТС Аналитику необходимо настроить и установить SDK. Статья описывает пошаговый процесс установки для разработчиков.
Проверьте перед установкой В статье приведена пошаговая инструкция по установке SDK. Перед началом работы убедитесь, что устройство соответствует требованиям: iOS 15.0+, tvOS 15.0+ и наличие ID потока (Flow ID). Если идентификатор отсутствует, его можно запросить, отправив письмо на analytics.support@mts.ru.
Подключение SDK
В тексте вы найдете руководство по добавлению библиотеки MTAnalytics в проект двумя способами: через CocoaPods или Swift Package Manager. Для CocoaPods н еобходимо добавить ссылки на репозитории в Podfile и выполнить установку через терминал. Для Swift Package Manager требуется добавить URL проекта в Xcode, выбрав между динамической или статической линковкой.
Инициализация SDK
В статье приведена пошаговая инструкция по инициализации библиотеки. Основные шаги включают использование UIApplicationDelegate (который остается легальным способом, несмотря на ограничения в новых версиях Xcode), импорт библиотеки и вызов метода конфигурации в методе запуска приложения.
Описаны особенности инициализации для разных фреймворков:
- SwiftUI: Требуется создать класс
AppDelegate, инициализировать SDK там и подключить его к главному классу приложения через адаптер@UIApplicationDelegateAdaptor. Также описано, как перехватывать deep links и universal links через колбэки.onOpenURLи.onContinueUserActivity. - UIKit: Инициализация происходит в
AppDelegate, а обработка ссылок переносится вSceneDelegateс использованием методовscene(_:willConnectTo...),scene(_:continue...)иscene(_:openURLContexts...).
Конфигурация библиотеки
В тексте вы найдете руководст во по настройке параметров работы SDK. Инициализация конфигурации происходит через MTAnalyticsConfiguration с указанием Flow ID.
Описаны следующие параметры настройки:
- Завершение сессии: Настраивается время автоматического завершения активной и фоновой сессий (
activeTimeoutиbackgroundTimeout). Значения по умолчанию — 1800 секунд, минимальное — 900, максимальное — 86400. Сессия завершается только при полном закрытии приложения. - Аккумуляция событий: Настраивается лимит событий в хранилище (
eventStorageLimit). По умолчанию и максимально допустимо 20 000 событий, минимально — 3 000. Новые события вытесняют старые. - Настройка роуминга: По умолчанию отправка событий в роуминге включена, но может быть отключена через параметр
networkTraffic.
Отправка событий
В статье приведена пошаговая инструкция по созданию и отправке событий. Для корректной передачи необходимо настроить пары ключ-значение. Обязательными полями являются eventType и eventName.
Описаны следующие аспекты отправки:
- Создание экземпляра события
MTAppEventс у казанием типа, имени, названия экрана и параметров. - Отправка события через общий метод
MTAnalyticsApp.analytics?.track(event:). - Отправка в приоритетном режиме через метод
trackExpedited. Это обеспечивает немедленную отправку отдельным запросом, минуя накопление батча. Если приоритетная отправка невозможна (из-за лимитов, недоступности сети или отключения трафика), событие передается в общий конвейер (fallback). Лимиты приоритетного режима: 50 событий на сессию и 300 в сутки на Flow ID.
Дополнительные методы библиотеки В тексте вы найдете руководство по использованию дополнительных методов для настройки контекста событий:
- User ID: Установка глобального идентификатора пользователя через
setUserId. Он автоматически прикрепляется к событиям. Для очистки используется передачаnil. Если ID передан непосредственно в событии, он имеет приоритет над глобальным. - User-Agent: Ручная установка строки User-Agent для идентификации приложения в HTTP-запросах. Значение автоматически добавляется в заголовки. Для очистки используется передача
nil.