SDK Статистики от SberAds для приложений: параметры, методы, debug-режим (Android, iOS, React Native)

Трекинговый SDK Статистики от SberAds есть для трёх платформ: Android, iOS и React Native. Настройки (проект, идентификаторы пользователя, телефон и email с хешированием SHA-256, автоотправка просмотров экранов) задают при активации, затем вызывают методы отправки: просмотр экрана, собственное событие, eCommerce, deeplink. Debug-режим везде выключен по умолчанию; методы работают только после создания экземпляра счётчика.

Цифры

Параметры настроек по платформам

Что передаётсяAndroidiOSReact Native
Идентификатор пользователя от площадкиpublisherIdsetPublisherIdsetPublisherId
Область видимости идентификатора площадкиpublisherScopesetPublisherScopesetPublisherScope
Авторизованный идентификатор пользователяuserIdsetAuthUserIdsetAuthUserId
Телефон (хеш SHA-256)phonesetPhonesetPhone
Email (хеш SHA-256)emailsetEmailsetEmail
Автоматическая отправка просмотров экрановsetActivityAutoTracking (page_view при переходе на активность)setAutoTrackViewв справке не нашли
Идентификаторы Sber ID, Sber sub ID, Rambler ID; отслеживание геолокациив справке не нашлив справке не нашлиsetSberId, setSberSubId, setRamblerId, setLocationTracking (описаний в справке нет)

Методы по платформам

ЗадачаAndroidiOSReact Native
Активация трекера (из примеров кода)Kraken.activateTrackerTop100.activateactivateSettings (один проект), activateMultipleSettings (несколько)
Включить и выключить автоотправку просмотровenableActivityAutoTracking, disableActivityAutoTracking— (через параметр)в справке не нашли
Просмотр экрана вручнуюtrackPageView: класс экрана, URL, заголовокtrackPageView: класс экрана, URL, заголовокtrackPageView: класс экрана, URL и заголовок необязательные
Собственное событиеtrackEvent: имя, данныеtrackEvent: имя, данныеtrackEvent: имя, значения необязательные
eCommercetrackEcom: имя, данныеформат данных TrackerTop100ECommercetrackEcomm: имя, параметры необязательные
Переход по deeplinktrackDeepLinktrackDeeplinktrackDeeplink
Данные в 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-режима (как выглядит лог) в тексте не описаны.