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

С NPM
Section titled С NPMИспользуйте метод 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 для сопоставления падений конверсии с техническими проблемами.

С NPM
Section titled С NPMissue используется для отправки технических событий, например ошибок, которые могут возникнуть в вашем стеке или в других нижестоящих системах. 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 С приложением для iOSimport ORTracker
ORTracker.shared.event(name: String, payload: Encodable?)
Руководство
Section titled РуководствоЕсли вы ищете практический пример использования пользовательских событий, ознакомьтесь с нашим подробным руководством здесь.
Есть вопросы?
Section titled Есть вопросы?Возникли трудности с использованием пользовательских событий? Присоединяйтесь к нашему Slack или загляните на наш Форум и получите помощь от нашего сообщества.