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

Что App SDK собирает сам

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

После установки SDK библиотека автоматически передает технические данные о запуске, сессии, приложении и устройстве. Персональные данные и действия пользователя не собираются, пока приложение само их не передаст. SDK не использует cookie, а идентификаторы и данные хранятся в песочнице приложения.

Автоматически передаваемые параметры отображаются в отчетах продуктовой аналитики в разделе «Поведенческая аналитика».

В песочнице приложения хранятся идентификатор установки, состояние сессии и очередь неотправленных событий.

В стандартной конфигурации событие содержит информацию об экране, параметрах приложения, электронной коммерции, времени, диплинках, идентификаторах клиента и сессии, а также технические данные об устройстве, ОС, сети и состоянии батареи. Эти данные помогают отличать реальные устройства от эмуляторов и корректно интерпретировать технические сбои.

В тексте вы найдете руководство по решению задачи автоматической отправки служебных событий, таких как установка приложения, периодические технические события и возврат пользователя после долгого отсутствия.

Рекламные идентификаторы передаются SDK в рамках разрешений операционной системы без прямого запроса у пользователя. Геолокация SDK не запрашивает; если приложение передает координаты, SDK отправляет только город и страну.

При включенной отправке сбоев передаются стектрейс, причина сбоя и характеристики устройства. По умолчанию функция отключена на обеих платформах, а данные отображаются в разделе «Крашлитика».

SDK не читает личные данные (контакты, SMS, галерею и т.д.), не делает скриншотов, не запрашивает разрешений и не собирает персональные данные без явной передачи их приложением.

SDK обращается к домену m-api.a.mts.ru для отправки событий и конфигурации, а на iOS также к itunes.apple.com для получения идентификатора приложения.

После установки Android SDK или iOS SDK библиотека передаёт в МТС Аналитику технические данные о запуске, сессии, приложении и устройстве.

Персональные данные и действия пользователя SDK не собирает, пока приложение само их не передаст.

Полный список параметров для отчётов — в статье Параметры событий App. Как передать свои события — в статье Разметка приложений.

Cookie

App SDK не использует cookie. Идентификаторы, состояние сессии и очередь неотправленных событий хранятся в песочнице приложения.

Где посмотреть данные

Параметры, которые SDK передаёт автоматически, отображаются в отчётах. Отчёты продуктовой аналитики — в разделе «Поведенческая аналитика».

Что хранится на устройстве

В песочнице приложения лежат:

  • идентификатор установки;
  • состояние сессии;
  • очередь событий, которые ещё не ушли на сервер.

Что передаётся в каждом событии

В стандартной конфигурации в событие попадают:

Событие

  • имя, тип и заголовок экрана;
  • параметры, которые передало приложение;
  • объект электронной коммерции — если приложение его отправило;
  • время события по часам устройства с часовым поясом;
  • ссылка — если переход был по диплинку.

Идентификаторы и сессия

  • идентификатор клиента — на Android это AppSet ID, который Google выдаёт приложениям одного разработчика. На iOS — IDFV, который система выдаёт приложениям одного вендора без разрешений;
  • идентификатор установки;
  • идентификатор посетителя;
  • id потока, сессии и запуска;
  • порядковые номера событий.

Приложение

  • bundle id
  • версия приложения и номер сборки;
  • версия SDK;
  • на iOS — идентификатор приложения в App Store: SDK запрашивает его у Apple по bundle id.

Устройство и ОС

  • производитель, модель, бренд, тип устройства;
  • ОС и версия, на Android — версия прошивки;
  • разрешение экрана, ориентация, язык.

Состояние устройства и сети

  • тип соединения, признак VPN;
  • оператор связи и его цифровой код;
  • заряд, идёт ли зарядка, энергосбережение;
  • свободные память и диск, тепловое состояние, частоты процессора;
  • работает ли приложение на переднем плане или в фоне;
  • признаки эмулятора и отладочной сборки, на Android — признак root.

Мобильный SDK читает IP-адрес сетевого интерфейса устройства.

User-agent передаётся в HTTP-заголовке запроса.

Зачем признаки состояния

Они нужны, чтобы отличать реальные устройства от эмуляторов и автоматического трафика и корректно читать технические сбои. Обрыв сессии при разряде батареи, нехватке памяти или перегреве в отчётах выглядит иначе, чем уход пользователя.

Служебные события, которые SDK отправляет сам

Помимо событий разметки SDK сам отправляет события:

  • установку приложения (install) — при первом запуске, с данными об источнике из магазина (Google Play, RuStore, AppGallery), включая рекламные метки, если установка пришла из кампании;

На Android дополнительно:

  • периодическое техническое событие: SDK сообщает, что приложение ещё работает;
  • событие возврата пользователя после долгого отсутствия;
  • метрики отрисовки — если включены метрики производительности.

Сведения о сбое уходят только при включённой отправке сбоев — см. раздел ниже.

Рекламные идентификаторы и геолокация

Рекламные идентификаторы нужны для атрибуции установок из рекламных кампаний. SDK передаёт их в пределах разрешений операционной системы и сам разрешения у пользователя не запрашивает.

ПлатформаЧто передаётсяКогда
AndroidРекламный идентификатор Google (GAID), на устройствах Huawei — OAID, плюс AppSet IDGAID собирается, только если приложение само объявило разрешение. SDK разрешение не запрашивает и удаляет его из манифеста. Как объявить разрешение — в статье Android SDK
iOSIDFA, статус разрешения на отслеживание, IDFVIDFA — только если пользователь разрешил отслеживание в App Tracking Transparency. Без разрешения поле пустое. Диалог показывает приложение, не SDK. IDFV iOS выдаёт без разрешений
Геолокация

Геолокацию SDK не запрашивает и не читает, location-разрешения не объявляет. Если приложение передаст координаты методом setLocation, SDK определит по ним город и страну и отправит только их, не координаты.

Методы: Android, iOS.

Отправка сбоев

При включённой отправке уходят стектрейс, причина сбоя, характеристики устройства, версии приложения и служебные метки сборки для расшифровки стектрейса.

По умолчанию: на Android выключено, на iOS выключено. Управляется параметром конфигурации на стороне приложения.

Сбои отображаются в разделе «Крашлитика».

Метрики сети и старта, эксперименты и удалённые настройки включаются отдельно: Android, iOS.

Чего App SDK не делает

  • Не читает контакты, SMS, журнал звонков, буфер обмена, список установленных приложений, галерею и пользовательские файлы.
  • Не делает скриншотов и не записывает экран.
  • Не читает номер телефона и IMEI.
  • Не запрашивает у пользователя разрешений.
  • Не собирает персональные данные — они попадают в систему, только если их передаёт приложение.

Домены, к которым обращается App SDK

Заметка

Домены мобильных потоков отличаются от веб-потоков: m-api вместо api. Это важно, если в приложении ограничены исходящие соединения.

ДоменНазначениеКогда используется
m-api.a.mts.ruОтправка событий (protobuf, батчами)Всегда
m-api.a.mts.ruКонфигурация экспериментов и удалённых настроекТолько если они используются
itunes.apple.comИдентификатор приложения в App Store по bundle idТолько iOS

FAQ