SDK Статистики от SberAds для приложений: параметры, методы, debug-режим (Android, iOS, React Native)
Трекинговый SDK Статистики от SberAds есть для трёх платформ: Android, iOS и React Native. Настройки (проект, идентификаторы пользователя, телефон и email с хешированием SHA-256, автоотправка просмотров экранов) задают при активации, затем вызывают методы отправки: просмотр экрана, собственное событие, eCommerce, deeplink. Debug-режим везде выключен по умолчанию; методы работают только после создания экземпляра счётчика.
Цифры
Параметры настроек по платформам
| Что передаётся | Android | iOS | React Native |
|---|---|---|---|
| Идентификатор пользователя от площадки | publisherId | setPublisherId | setPublisherId |
| Область видимости идентификатора площадки | publisherScope | setPublisherScope | setPublisherScope |
| Авторизованный идентификатор пользователя | userId | setAuthUserId | setAuthUserId |
| Телефон (хеш SHA-256) | phone | setPhone | setPhone |
| Email (хеш SHA-256) | setEmail | setEmail | |
| Автоматическая отправка просмотров экранов | setActivityAutoTracking (page_view при переходе на активность) | setAutoTrackView | в справке не нашли |
| Идентификаторы Sber ID, Sber sub ID, Rambler ID; отслеживание геолокации | в справке не нашли | в справке не нашли | setSberId, setSberSubId, setRamblerId, setLocationTracking (описаний в справке нет) |
Методы по платформам
| Задача | Android | iOS | React Native |
|---|---|---|---|
| Активация трекера (из примеров кода) | Kraken.activate | TrackerTop100.activate | activateSettings (один проект), activateMultipleSettings (несколько) |
| Включить и выключить автоотправку просмотров | enableActivityAutoTracking, disableActivityAutoTracking | — (через параметр) | в справке не нашли |
| Просмотр экрана вручную | trackPageView: класс экрана, URL, заголовок | trackPageView: класс экрана, URL, заголовок | trackPageView: класс экрана, URL и заголовок необязательные |
| Собственное событие | trackEvent: имя, данные | trackEvent: имя, данные | trackEvent: имя, значения необязательные |
| eCommerce | trackEcom: имя, данные | формат данных TrackerTop100ECommerce | trackEcomm: имя, параметры необязательные |
| Переход по deeplink | trackDeepLink | trackDeeplink | trackDeeplink |
| Данные в web-view | в справке не нашли | формат данных TrackerTop100ECommerce | в справке не нашли |
| События системы рекомендаций | в справке не нашли | в справке не нашли | trackRecSysEvent: имя, метаданные и URL необязательные |
Debug-режим
| Платформа | Как включить | Как выключить |
|---|---|---|
| Android | в функции .debug поменять переменную flag с false на true | поменять flag обратно на false |
| iOS | в AppDelegate в функции TrackerTop100.setupDebugActive поменять false на true | поменять на false |
| React Native | вызвать NativeTrackerTop100.setupDebugActive(true) | способ в справке не описан |
Подробности
Активация и настройки
Проект указывают при создании настроек, остальные параметры добавляют цепочкой. На Android и iOS настройки собирают в объект и активируют при старте приложения; в React Native настройки собирает SettingsBuilder, активация идёт через NativeTrackerTop100. Телефон и email передают как есть, хеши SDK считает сам.
Подключение SDK в приложение разобрано в отдельной статье. Страницы-обзоры всех трёх SDK содержат только отсылку к установке и перечень разделов.
Автоматические просмотры экранов
- Android: параметр setActivityAutoTracking (по комментарию в примере кода по умолчанию false) включает автоматическую отправку события page_view при переходе на активность. Состояние можно сменить в любом месте приложения методами enableActivityAutoTracking и disableActivityAutoTracking.
- iOS: параметр setAutoTrackView задаёт флаг автоматического трекинга просмотров экранов. Значение по умолчанию в справке не названо.
- React Native: параметра автотрекинга нет, просмотр экрана отправляют методом trackPageView.
Debug-режим
Debug-режим помогает проверить корректность работы счётчика и его параметры. При включении в консоль выводится лог событий: название счётчика, его параметры и действия. По умолчанию режим выключен на всех трёх платформах.
Порядок вызова
Перед вызовом любых методов экземпляр счётчика должен быть создан и доступен. Иначе данные не собираются, потому что их не с чем связать.
Важно знать
- Имена параметров различаются между платформами при одном смысле: авторизованный идентификатор — userId на Android и setAuthUserId на iOS и React Native. Параметра автоотправки просмотров экранов в React Native нет.
- Регистр deeplink-метода разный: trackDeepLink на Android, trackDeeplink на iOS и React Native. Для eCommerce: trackEcom на Android и trackEcomm на React Native.
- Android: описания двух методов автоотправки неравны по словам. Включение названо «автоматической отправкой события», выключение — «автоматической отправкой данных». Это одна и та же функция, или выключение шире, справка не уточняет.
- В Android-примере кода в конце стоят строки с disableActivityAutoTracking и пометками «можно задать/переопределить» и «можно переопределить в любом месте приложения». Как они сочетаются с setActivityAutoTracking(true) выше в том же примере, справка не поясняет.
- iOS: в строке про web-view написано «Необходимо передать код в Activity», хотя Activity — понятие Android; на странице Android такой строки нет. Что именно нужно передать и где, справка в тексте не поясняет.
- Страница параметров React Native помечена «Раздел находится в разработке». У четырёх параметров (setSberId, setSberSubId, setRamblerId, setLocationTracking) описания пустые.
- Для React Native в справке не нашли способ выключить debug-режим: есть только пример включения. На Android и iOS описание выключения есть.
- Android: справка называет функцию .debug, но не файл, где её менять. iOS: место названо — AppDelegate.
- Рисунки на страницах debug-режима (как выглядит лог) в тексте не описаны.