À propos du projet

# Analytics Une couche d'abstraction analytique légère pour le suivi des pages vues, des événements personnalisés et l'identification des visiteurs. Conçue pour fonctionner avec n'importe quel outil d'analyse tiers ou votre propre backend grâce à une architecture pluggable. ## Fonctionnalités - Système de plugins extensible pour les intégrations tierces - Test et débogage des analyses avec le voyage dans le temps et le mode hors ligne - Hooks de cycle de vie pour modifier les appels de suivi - Isomorphe — fonctionne dans le navigateur et Node.js - Met les événements en file d'attente jusqu'à ce que les bibliothèques analytiques soient chargées - Charge conditionnellement les scripts tiers - Fonctionne hors ligne - Support TypeScript ## Installation ```bash npm install analytics --save ``` npx également disponible via yarn, pnpm et bun. ## Utilisation ```js import Analytics from 'analytics' import googleAnalytics from '@analytics/google-analytics' import customerIo from '@analytics/customerio' const analytics = Analytics({ app: 'my-app-name', version: 100, plugins: [ googleAnalytics({ measurementIds: ['G-XXXXXXXX'] }), customerIo({ siteId: '123-xyz' }) ] }) analytics.page() analytics.track('userPurchase', { price: 20, item: 'pink socks' }) analytics.identify('user-id-xyz', { firstName: 'bill', lastName: 'murray' }) ``` ## API Principale - `analytics.identify(userId, traits)` — Identifier un visiteur et enregistrer ses données dans le localStorage - `analytics.track(eventName, payload)` — Suivre des événements analytiques personnalisés - `analytics.page(data)` — Déclencher le suivi des pages vues - `analytics.user(key)` — Récupérer les données utilisateur stockées - `analytics.reset()` — Effacer les informations du visiteur et réinitialiser l'état - `analytics.ready(callback)` — S'exécute lorsque tous les fournisseurs sont chargés - `analytics.on(event, callback)` / `analytics.once(event, callback)` — Écouter les événements du cycle de vie - `analytics.getState(key)` — Accéder aux sous-clés de l'état interne - `analytics.storage` — Utilitaires pour la persistance des données (localStorage, cookies) - `analytics.plugins.enable/disable(namespace)` — Gérer dynamiquement les plugins ## Système de Plugins La bibliothèque est livrée avec de nombreux plugins officiels, notamment Google Analytics, Segment, Amplitude, AWS Pinpoint, Countly, Crazy Egg, Churnzero et activity-utils. Des plugins communautaires sont également disponibles. Des plugins personnalisés peuvent être créés pour réagir aux événements ou ajouter des méthodes personnalisées. ## Philosophie - Ne jamais être verrouillé avec un seul outil d'analyse - Facilité d'ajout/suppression de fournisseurs en ajustant le tableau des plugins - Respecter la vie privée des visiteurs et permettre des mécanismes de désinscription - API pluggable pour l'extensibilité de la logique métier