Sobre o projeto
Analytics é uma camada leve de abstração de analytics para rastrear visualizações de página, eventos personalizados e identificar visitantes. Foi projetado para funcionar com qualquer ferramenta de analytics de terceiros ou com seu próprio backend por meio de uma arquitetura plugável.
Recursos:
- Sistema de plugins extensível para integrações de terceiros
- Teste e depuração de analytics com viagem no tempo e modo offline
- Ganchos de ciclo de vida para modificar chamadas de rastreamento
- Isomorfo — funciona no navegador e no Node.js
- Enfileira eventos até que as bibliotecas de analytics sejam carregadas
- Carrega condicionalmente scripts de terceiros
- Funciona offline
- Suporte ao TypeScript
Instalação:
Execute o comando npm install analytics --save. Também está disponível via yarn, pnpm e bun.
Uso:
Importe Analytics e os plugins desejados, por exemplo googleAnalytics e customerIo. Crie uma instância passando o nome do aplicativo, versão e a lista de plugins. Depois chame analytics.page() para rastrear uma visualização de página, analytics.track('nomeDoEvento', {dados}) para eventos personalizados e analytics.identify('idDoUsuario', {traits}) para identificar um visitante.
API principal:
- analytics.identify(userId, traits) identifica um visitante e armazena seus dados no localStorage
- analytics.track(eventName, payload) rastreia eventos personalizados
- analytics.page(data) dispara o rastreamento de visualização de página
- analytics.user(key) recupera dados armazenados do usuário
- analytics.reset() limpa as informações do visitante e redefine o estado
- analytics.ready(callback) é disparado quando todos os provedores foram carregados
- analytics.on(event, callback) / analytics.once(event, callback) escuta eventos de ciclo de vida
- analytics.getState(key) acessa sub‑chaves do estado interno
- analytics.storage fornece utilitários para persistência de dados (localStorage, cookies)
- analytics.plugins.enable/disable(namespace) gerencia plugins dinamicamente
Sistema de plugins:
A biblioteca vem com muitos plugins oficiais, como Google Analytics, Segment, Amplitude, AWS Pinpoint, Countly, Crazy Egg, Churnzero e activity-utils, além de plugins da comunidade. É possível criar plugins personalizados para reagir a eventos ou adicionar métodos customizados.
Filosofia:
- Nunca ficar preso a uma única ferramenta de analytics
- Facilitar a adição ou remoção de provedores ajustando apenas o array de plugins
- Respeitar a privacidade do visitante e permitir mecanismos de opt‑out
- Oferecer uma API plugável para extensão da lógica de negócios
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.