Пользовательские события

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

Пользовательские события

Пользовательские события отлично подходят для добавления аналитики за счёт записи событий, специфичных для вашей предметной области, вместе с повторами сессий. OpenReplay использует 2 типа событий: функциональные (event) и технические (issue). Все события индексируются для удобства поиска и синхронизируются с записями сессий.

Функциональные события

Section titled Функциональные события

Функциональные события индексируются и упрощают поиск конкретных записей сессий. Если они были успешно получены OpenReplay, они будут доступны в качестве фильтров в строке omnisearch.

Functional Event

Используйте метод event для сигнализации о функциональных событиях, таких как order completed или product added. Он принимает 2 параметра: name (string) и payload (нерекурсивный объект JS).

tracker.event('product_added', 'shoes'); // after tracker.start()

С помощью JavaScript-сниппета

Section titled С помощью JavaScript-сниппета

Ниже приведён пример отправки функционального события с помощью сниппета.

<!-- OpenReplay Tracking Code -->
<script>
var initOpts = { projectKey: "GxPpaDARdn2345fgt321" };
var startOpts = { userID: ""}; 
(function(A,s,a,y,e,r){
  r=window.OpenReplay=[e,r,y,[s-1, e]];
  s=document.createElement('script');s.src=A;s.async=!a;
  ...
})("//static.openreplay.com/latest/openreplay.js", 1, 0, initOpts, startOpts);
</script>
  ...
  __OPENREPLAY__.event('product_added', 'shoes'); // send a functional event later in your code
  ...

Технические события

Section titled Технические события

Технические события отображаются в повторе сессии на вкладке Events в DevTools, а также в виде аннотаций при воспроизведении. Они также учитываются в воронках (Funnels) для сопоставления падений конверсии с техническими проблемами.

Technical Event

issue используется для отправки технических событий, таких как ошибки, которые могут возникать в вашем стеке или других нижестоящих системах. issue принимает 2 параметра: name (string) и payload (нерекурсивный объект JS).

tracker.issue('payment_error', {code: 500, context: 42}); // after tracker.start()

С помощью JavaScript-сниппета

Section titled С помощью JavaScript-сниппета

Ниже приведён пример отправки технического события с помощью сниппета.

<!-- OpenReplay Tracking Code -->
<script>
var initOpts = { projectKey: "GxPpaDARdn2345fgt321" };
var startOpts = { userID: "" }; 
(function(A,s,a,y,e,r){
  r=window.OpenReplay=[e,r,y,[s-1, e]];
  s=document.createElement('script');s.src=A;s.async=!a;
  ...
})("//static.openreplay.com/latest/openreplay.js", 1, 0, initOpts, startOpts);
</script>
  ...
  __OPENREPLAY__.issue('payment_error', {code: 500, context: 42}); // send a technical event (issue) later in your code
  ...

С помощью приложения iOS

Section titled С помощью приложения iOS
import ORTracker

ORTracker.shared.event(name: String, payload: Encodable?)

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

Возникли трудности с использованием пользовательских событий? Присоединяйтесь к нашему Slack или посетите наш Форум и получите помощь от нашего сообщества.