Об этом проекте
SDK для JavaScript/TypeScript tgram-analytics — это минимальная клиентская библиотека для отправки аналитических событий на сервер tgram-analytics. Работает в браузере, используя только нативные API, не имеет внешних зависимостей, а размер собранного файла составляет менее двух килобайт в сжатом виде, что обеспечивает быструю загрузку.
Ключевые особенности:
- Нулевая зависимость и крошечный размер бандла.
- Полные определения TypeScript включены, отдельный пакет @types не требуется.
- Privacy-focused дизайн: без cookies, без fingerprinting, опциональное уважение к настройке браузера Do Not Track, session IDs хранятся только в sessionStorage.
- Автоматическое отслеживание pageview для single-page applications с дедупликацией последовательных одинаковых URL. Работает с React Router, Vue Router, Next.js, Svelte Kit и любым фреймворком, использующим History API.
- Ручное отслеживание событий через простой метод track, поддерживающий скалярные значения и массивы скаляров для multi-value свойств.
- Метод identify для прикрепления персистируемых пользовательских свойств ко всем последующим событиям.
- Управление согласием пользователя через opt-in/opt-out, с опциональным сохранением, реализуемым приложением.
- Опциональный batching событий для снижения количества сетевых запросов, конфигурируемый по максимальному размеру батча и максимальному времени ожидания.
- Параметры конфигурации: URL сервера, автоматическая обработка pageview, уважение DNT, сбор контекста, пользовательские session IDs.
- Простая установка через npm или тег script для проектов без этапа сборки.
- Полноценный API: init, track, pageview, identify, opt, flush, reset.
- Явная обработка ошибок для невалидных форм событий и отсутствующей конфигурации.
- Лицензия MIT, открыт для контрибьюций.
Типичное использование подразумевает импорт дефолтного экспорта, его однократную инициализацию с API-ключом проекта и URL сервера, а затем вызов track там, где нужно фиксировать пользовательские события. Pageview отправляются автоматически, если эта функция не отключена.
SDK также предоставляет глобальный объект TGA при загрузке через тег script, что позволяет использовать его сразу без модульной системы.
Меры privacy обеспечивают, чтобы никакие персистирующие идентификаторы не хранились дольше текущей вкладки, а сервер применяет domain allowlist на уровень каждого проекта, предотвращая несанкционированный сбор данных.
Для разработчиков пакет включает скрипты сборки, набор тестов, проверку TypeScript типов, линтинг и форматирование, а также понятные правила контрибьютинга.
В целом, tgram-analytics JS SDK предлагает простой способ сбора event данных при низких накладных расходах с уважением к privacy пользователей и удобству разработки.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.