Пользовательские события
Пользовательские события отлично подходят для добавления аналитики за счёт записи событий, специфичных для вашей предметной области, вместе с повторами сессий. 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()
С помощью 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) для сопоставления падений конверсии с техническими проблемами.

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