Sobre o projeto
react-fathom é um wrapper de analytics focado na privacidade em torno do Fathom Analytics, projetado para aplicativos baseados em React, incluindo plataformas web e mobile.
Suporta rastreamento automático de pageviews em mudanças de rota, rastreamento de eventos personalizados, rastreamento de conversão de metas com valores monetários e oferece tanto hooks programáticos quanto componentes declarativos para integração flexível.
Principais funcionalidades:
- Configuração zero: envolva seu app com FathomProvider e forneça um siteId
- Rastreamento automático de pageviews para Next.js App Router e Pages Router via NextFathomProviderApp, NextFathomTrackViewApp e NextFathomTrackViewPages
- Suporte a React Native por meio de uma exportação dedicada /native usando um WebView oculto para carregar o script de rastreamento do Fathom, com fila offline e integração com React Navigation
- Suporte completo TypeScript com definições de tipo completas
- Tree-shakeable: empacota apenas o que você usa
- Mesclagem de opções padrão: defina padrões em todo o app no FathomProvider que são mesclados automaticamente em todas as chamadas de rastreamento
- Suporte a provedores aninhados: provedores filhos podem substituir os padrões dos pais
- Implementação personalizada do cliente: forneça uma interface FathomClient para React Native, mocks de teste ou cenários de renderização server-side
- Hooks de conveniência: useTrackOnMount, useTrackOnClick e useTrackOnVisible para padrões comuns de rastreamento
- Componentes declarativos: TrackPageview, TrackClick e TrackVisible para rastreamento baseado em JSX
- Suporte a domínios personalizados do Fathom
- Rastreamento de estado do app no React Native (eventos foreground/background)
O pacote requer fathom-client como peer dependency e funciona com React >= 16.8, Next.js >= 10.0.0 e React Native >= 0.60.0. Não há necessidade de cookies pelo próprio Fathom, tornando-o compatível com GDPR, CCPA e PECR desde o início, sem banners de consentimento.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.