События SDK Статистики от SberAds: показ экрана, deeplink, собственные события

SDK отправляет события трёх видов: показ экрана, переход по deeplink и собственное событие. Показ экрана ручной или автоматический (Android), у экрана обязателен только класс, URL и заголовок опциональны. В собственном событии название обязательно, данные опциональны — на Android и iOS до 30 параметров в формате «строка-строка». Deeplink передают строкой в методе trackDeeplink.

Цифры

Что передают в методах по платформам

СобытиеAndroidiOSReact Native
Показ экрана вручнуюкласс экрана (обязательно), URL и заголовок (опционально)класс экрана (обязательно), URL и заголовок (опционально)название экрана; URL и заголовок опционально
Собственное событиеназвание; данные опционально, до 30 параметров, Map из строкназвание (обязательно); данные опционально, до 30 параметров, Dictionary из строкназвание (обязательно); данные опционально, лимит не назван
Переход по deeplinkurl, обязателен, строкаdeeplink, обязателен, строкаdeeplink, обязателен, строка

Куда вставляют вызов

ПлатформаПоказ экранаDeeplink
Androidпри создании Activityпри создании Activity
iOSв контроллере (в примере — в viewDidLoad)в обработчиках открытия ссылки и продолжения активности в AppDelegate
React Nativeв справке не нашлив справке не нашли

Подробности

Автоматическая отправка на Android

Если в настройках включена автоматическая отправка, запуск активностей в первый раз фиксируется автоматически. Включить и выключить автоотправку можно методами Kraken.enableActivityAutoTracking и Kraken.disableActivityAutoTracking; их вызывают в любых классах и активностях приложения. Если нужен собственный контроль, просмотр экрана отправляют вручную.

Показ экрана

Ручной вызов нужен, если просмотр экрана фиксируют самостоятельно. Про автоматический трекинг на iOS и React Native эти страницы не говорят.

  • Android: метод Kraken.trackPageView при создании Activity.
  • iOS: TrackerTop100.trackPageView в контроллере; в примере — в viewDidLoad главного контроллера.
  • React Native: NativeTrackerTop100.trackPageView с названием экрана, например HomeScreen.

Поля: класс или название экрана (SCREEN_CLASS, например MainActivity) — обязательное; URL (релевантный адрес веб-страницы) — опциональный; TITLE (название экрана) — опциональный.

Собственные события

Метод отправляет любое собственное событие: название произвольное, данные опциональные.

  • Android: Kraken.trackEvent, данные в Map<String, String>, не более 30 параметров.
  • iOS: TrackerTop100.trackEvent, данные в Dictionary<String, String>, не более 30 параметров.
  • React Native: NativeTrackerTop100.trackEvent, данные объектом; в примере два поля (button_name и section).

Переход по deeplink

Метод фиксирует открытие и переход по deeplink, ссылке в приложение.

  • Android: Kraken.trackDeepLink(url) при создании Activity. Параметр — строка со ссылкой.
  • iOS: TrackerTop100.trackDeeplink; вызов ставят в обработчики открытия URL и продолжения пользовательской активности (в примере — открытие по URL и продолжение активности при переходе с веб-страницы).
  • React Native: NativeTrackerTop100.trackDeeplink со строкой, например myapp://product/123.

Активация трекера в React Native

Метод activateSettings активирует трекер для настройки с одним идентификатором (ID). Настройки собирают через SettingsBuilder (идентификатор проекта, email, телефон, идентификаторы площадки и пользователя и т. д.), затем вызывают NativeTrackerTop100.activateSettings.

Важно знать

  • Автоотправка на Android: страница активации экрана говорит про настройку Kraken.activateAutoTracking(this), а страница включения и отключения — про методы enableActivityAutoTracking и disableActivityAutoTracking (на странице параметров SDK — параметр setActivityAutoTracking). Какое из имён актуально, справка не поясняет: сверять с кодом SDK или уточнять в поддержке.
  • Сказано, что с автоотправкой «в первый раз» запуск активностей фиксируется автоматически. Повторные запуски и возвраты на экран страница не описывает.
  • На iOS поле класса экрана описано как «название активности, например MainActivity» (термины Android), а в примере стоит MainViewController.
  • iOS, собственные события: в сигнатуре на странице аргумент данных называется customVars, а в примере Swift — eventValues. Для Objective-C назван eventValues. Какое имя верное, проверять в SDK.
  • Android, собственные события: сказано «произвольное название», обязательность не отмечена, на iOS название обязательное. В примере Kotlin аргумент данных называется params.
  • Допустимые символы в названии события для SDK справка не называет (в веб-счётчике есть правило: латиница, цифры, дефис, нижнее подчёркивание). Переносить ли его на SDK, не сказано.
  • React Native: у названия экрана подпись screenName в тексте и className в таблице методов SDK; в данных события лимит и формат не названы.
  • Для Android deeplink-параметр описан как «релевантный url для web страницы» с примером https://rambler.ru, тогда как на iOS и React Native примеры настоящие deeplink (myapp://…).
  • React Native: страница активации трекера описывает только activateSettings; активация нескольких проектов сразу в списке методов есть, а отдельного описания в этих страницах нет.
  • Рисунок на странице iOS-deeplink в тексте не описан.