Связывайте взаимодействие пользователя с функциями и компонентами пользовательского интерфейса

Материал из Документация Ключ-АСТРОМ
Версия от 15:46, 19 августа 2026; IKuznetsov (обсуждение | вклад) (Новая страница: «= Связывайте взаимодействие пользователя с функциями и компонентами пользовательского интерфейса = '''Ранний доступ''' '''RUM''' позволяет связывать взаимодействия пользователей с функциями и компонентами пользовательского интерфейса путем добавления...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Связывайте взаимодействие пользователя с функциями и компонентами пользовательского интерфейса

Ранний доступ

RUM позволяет связывать взаимодействия пользователей с функциями и компонентами пользовательского интерфейса путем добавления специальных атрибутов в ваш HTML-код. Этот всеобъемлющий контекст взаимодействия облегчает выполнение мощных запросов и более глубокий анализ того, как пользователи взаимодействуют с пользовательским интерфейсом и функциональностью вашего приложения.

Связывайте взаимодействие пользователя с функциями

Используйте атрибут data-dt-features для связывания взаимодействий пользователя с HTML-элементом с одной или несколькими конкретными характеристиками продукта. При взаимодействиях пользователя зафиксированные характеристики доступны в поле ui_element.features; см. раздел «Взаимодействия пользователя». Элементы наследуют характеристики от своих предков, обеспечивая всестороннее отслеживание характеристик.

Варианты использования

Этот атрибут data-dt-features позволяет вам:

  • Отслеживать взаимодействие пользователей с функциями — например, «поиск», «оформление заказа», «навигация».
  • Группировать связанные компоненты пользовательского интерфейса на странице.
  • Анализировать поведение пользователей по областям применения функций.
  • Создавать информационные панели и отчеты на основе функциональных возможностей.

Формат

Значение атрибута data-dt-features представляет собой список названий объектов, разделенных запятыми, где объект может быть любой строкой. Объекты чувствительны к регистру — например, «Search» и «search» — это разные объекты.

Примеры

Наследование функций

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

Пример DQL

Следующий DQL-запрос генерирует временной ряд, показывающий для каждой функции количество сессий, которые включают хотя бы одно взаимодействие с этой функцией.

fetch user.events
| filter isNotNull(ui_element.features)
| expand ui_element.features
| makeTimeseries countDistinct(dt.rum.session.id), by: {ui_element.features}, interval: 1d

Ассоциируйте взаимодействия пользователя с компонентами пользовательского интерфейса

Используйте атрибут data-dt-component для связывания взаимодействий пользователя с HTML-элементом с одним или несколькими компонентами пользовательского интерфейса, такими как средство выбора даты или календарь. Значения компонентов наследуются от всех родительских элементов и собираются в порядке сверху вниз, образуя путь через дерево компонентов. На захваченном взаимодействии пользователя собранные компоненты доступны в поле ui_element.components; см. «Взаимодействия пользователя».

Варианты использования

Атрибут data-dt-component позволяет вам:

  • Определять, где происходят взаимодействия пользователя в компонентных фреймворках, таких как React, Vue и Angular.
  • Понимать путь компонента от корневого элемента до элемента, с которым осуществляется взаимодействие.
  • Различать одинаковые элементы в различных контекстах компонентов.
  • Отлаживать и анализировать взаимодействия во вложенных компонентных структурах.

Формат и наследование

Значение параметра data-dt-component представляет собой строку, описывающую компонент. Компоненты собираются сверху вниз от всех предков, в результате чего получается массив, представляющий путь через дерево компонентов. Пустые значения или значения, состоящие только из пробелов, игнорируются.

Пример (React JSX)

<div data-dt-component="TimeframeSelector">
  <button data-dt-component="DatePicker">Выбрать дату</button>
</div>

Пример DQL

Следующий DQL-запрос генерирует временной ряд, показывающий, сколько разных пользователей взаимодействовали с компонентом TimeframeSelector. Результаты разделены по типу интерфейса.

fetch user.events
| expand ui_element.components
| filter ui_element.components == "TimeframeSelector"
| makeTimeseries countDistinct(dt.rum.instance.id), by: {frontend.name}, interval: 1d