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

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

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

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

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

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

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

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

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

tracker.event('product_added', 'shoes'); // after tracker.start()
// OR
tracker.event('product_added', { type: 'shoes' });

С 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
	// OR
	__OPENREPLAY__.event('product_added', { type: 'shoes' });
  ...

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

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

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

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

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
  ...

Получите больше от событий

Section titled Получите больше от событий

Наш SDK поддерживает более глубокое управление событиями; чтобы узнать больше, ознакомьтесь с разделом «Управление данными и событиями».

С приложением для iOS

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

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

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

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