/
pvldchkv
/
unity
Обзор
Документация
Войти
/
pvldchkv
/
unity
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/clickstream/types.ts
47 строк
2 KB
Dyachkov Pavel
Add clickstream analytics infrastructure and mark up pages
29 апр 2026, 16:07
29 апр 2026, 16:07
9e448ec
Код
Авторство
О чём код?
// Типы событий аналитического кликстрима SberUnity. // // Источник правды по разметке — дерево метрик SberUnity (Mindomo). // // Формат события (по конвенции Сбера): // { // application: 'платформа' | 'лендинг', // зона // label: '<путь по дереву без верхнего сегмента зоны>', // properties: { p_Foo: '...' } // опционально // } // // Верхний сегмент дерева ('Лендинг' / 'Платформа') вынесен в `application`, // поэтому в `label` его дублировать не нужно. export type ClickstreamPropertyValue = string | number | boolean | null; export type ClickstreamProperties = Record<string, ClickstreamPropertyValue>; export type ClickstreamKind = "stage" | "event"; export type ClickstreamApplication = "платформа" | "лендинг"; export interface ClickstreamEvent { application: ClickstreamApplication; label: string; properties?: ClickstreamProperties; } // Скоуп — общие поля, которые удобно один раз задать на странице // и не повторять в каждом track-вызове. export interface ClickstreamScope { // Зона приложения. По умолчанию 'платформа' (авторизованная зона). // Для лендинга/авторизации — 'лендинг'. application?: ClickstreamApplication; } export interface TrackInput extends ClickstreamScope { label: string; properties?: ClickstreamProperties; } export interface TrackPageOpenInput extends TrackInput { // Если true — событие не будет отправлено. Удобно, когда «Открытие» // надо стрелять только при определённом view-mode и нельзя использовать // условный вызов хука (правило хуков React). skip?: boolean; }