1.1.0 • Published 2 years ago
@rshb/analytics v1.1.0
РСХБ - Аналитика
Библиотека для работы с сервисом аналитики проекта Свой Бизнес.
Использование
Отправка пользовательских событий в сервис аналитики производится с помощью метода sendEvent
:
import { analytics } from "@rshb/analytics";
const handleClickOnSendPaymentButton = () => {
analytics.sendEvent("payments-modal__send-payment-button_click");
};
Для того чтобы передать дополнительную информацию о событии, необходимо указать соответствующие параметры:
import { analytics } from "@rshb/analytics";
const handleClickOnOpenDepositButton = () => {
analytics.sendEvent("deposits-main-page__open-deposit-button_click", {
name: "main",
percentage: 10,
period: [
{ type: "end", date: "10.02.2023" },
{ type: "start", date: "10.02.2022" },
],
});
};
Генерируемые события отправляются в сервис аналитки асинхронно. Для того чтобы выполнить операцию непосредственно после успешной / неуспешной отправки события, например перед этапом редиректа пользователя, необходимо воспользоватся одним из следующих вариантов работы с событиями:
- Использование метода
sendEventAndWait
:
import { analytics } from "@rshb/analytics";
const handleClickOnMenuItem = async () => {
try {
await analytics.sendEventAndWait("menu__menu-item_click", {
name: "accounts",
});
console.log("Событие отправлено");
redirectToLoginPage();
} catch {
console.log("Событие не отправлено");
}
};
- Передача функций обратного вызова в методе
sendEvent
:
import { analytics } from "@rshb/analytics";
const handleClickOnMenuItem = () => {
analytics.sendEvent(
"menu__menu-item_click",
{ name: "accounts" },
() => {
console.log("Событие отправлено");
redirectToLoginPage();
},
() => {
console.log("Событие не отправлено");
}
);
};