Intégration avec React

Sans aucun doute, React est l'un des frameworks frontend les plus célèbres de nos jours. Chez Metricalp, nous sommes ravis d'avoir une bibliothèque d'intégration officielle pour React et NextJS. Si vous utilisez NextJS, consultez la documentation d'intégration de NextJS. Si vous utilisez React, vous êtes au bon endroit. Commençons!

Notre bibliothèque d'intégration sur NPM s'appelle @metricalp/react

Installation

Vous pouvez l'installer comme suit:

yarn add @metricalp/react

ou

npm install @metricalp/react

Intégration

Au niveau supérieur de votre application dans src/index.js | src/main.tsx (Vite) | App.js, enveloppez votre application avec MetricalpReactProvider. Donnez ensuite votre tid (alias TrackerID) comme prop au provider. En gros, c'est tout, Metricalp commencera automatiquement à collecter tous les événements de visite et de changement de route. Mais vous pouvez personnaliser les comportements avec les props. Nous allons tout expliquer.

Exemple (projet React démarré avec Vite)

Dans src/main.tsx, importez la bibliothèque import { MetricalpReactProvider } from '@metricalp/react';. Ensuite, enveloppez votre application avec <MetricalpReactProvider allowLocalhost tid="YOUR_TID">

N'OUBLIEZ PAS de remplacer le prop tid par votre tid.

Nous avons ajouté allowLocalhost parce que, par défaut, Metricalp ne fonctionne pas sur localhost pour protéger vos limites de quota. Nous avons permis localhost à des fins de test. Vous souhaiterez le supprimer après l'avoir testé une fois pour économiser votre quota. Pour des informations détaillées, consultez permettre localhost & m'exclure docs.

Exemple de code

tsx

        import React from 'react';
        import ReactDOM from 'react-dom/client';
        import { MetricalpReactProvider } from '@metricalp/react';
        import './index.css';
        import { App } from './App.tsx';
        
        ReactDOM.createRoot(document.getElementById('root')!).render(
          <React.StrictMode>
            <MetricalpReactProvider allowLocalhost tid="YOUR_TID">
              <App />
            </MetricalpReactProvider>
          </React.StrictMode>
        );

UTILISATION

Si vous avez intégré la bibliothèque avec votre application, elle commencera automatiquement à suivre les événements screen_view. Metricalp écoute les changements de window.history et crée un événement screen_view à chaque changement de chemin par défaut. Donc, si vous souhaitez suivre uniquement les vues d'écran, votre application est prête juste après l'intégration. Vous n'avez rien d'autre à faire. Mais si vous souhaitez produire des événements personnalisés ou désactiver le suivi automatique des routes et créer des événements screen_view manuellement, suivez cette section.

Production d'Événements

Vous avez deux options pour produire des événements Metricalp avec cette bibliothèque. Un hook ou un appel direct de fonction.

Production d'événements avec Hook

tsx

        import { useMetricalp } from '@metricalp/react';

        export default function MyComponent() {
          // Appelez le hook pour obtenir la fonction d'événement metricalp
          const metricalpEvent = useMetricalp();
        
          return (
            <div>
              <button
                onClick={() => {
                  metricalpEvent({ type: 'click_test_button', custom_prop1: 'hook' });
                }}>
                Click me
              </button>
            </div>
          );
        }

Production d'événements avec appel direct de fonction

Parfois (en dehors des composants), vous ne pouvez pas appeler de hooks dans React. Vous pouvez donc importer la fonction de déclenchement d'événements directe de Metricalp.

tsx

        import { metricalpEvent } from "@metricalp/react";

        export default function MyComponent() {
        
          return (
            <div>
              <button
                onClick={() => {
                  metricalpEvent({ type: 'click_test_button', custom_prop1: 'direct' });
                }}
              >
                Click me
              </button>
            </div>
          );
        }

C'est entièrement à vous de préférer l'appel de hook ou de fonction directe dans toute votre application. Vous pouvez décider d'utiliser un seul ou les deux en fonction du lieu d'utilisation. Dans les exemples ci-dessus, nous produisons des événements personnalisés avec des propriétés personnalisées. Dans votre tableau de bord Metricalp, vous pouvez définir des alias pour custom_prop, puis vous pouvez utiliser directement cette clé dans les événements. Comme: metricalpEvent({ type: 'click_test_button', user_role: 'admin' }); ici, nous avons défini user_role comme alias de custom_prop1 dans les Paramètres du Tracker et maintenant nous le produisons directement dans les événements.

Personnaliser les comportements avec les Props

tid

RequisType: stringValeur par défaut: -

C'est votre tid, également connu sous le nom d'ID de suivi. Vous pouvez obtenir des informations sur comment l'obtenir dans Paramètres du Tracker / Intégrer & Partager. Vous devez fournir cet attribut pour que Metricalp fonctionne.

allowLocalhost

OptionnelType: booleanValeur par défaut: undefined (donc false)

Si vous intégrez Metricalp sur votre localhost à des fins de test, vous pouvez définir cet attribut sur "true". Sinon, Metricalp ne collectera pas les événements sur localhost pour économiser votre quota d'utilisation. Consultez cette documentation pour plus d'informations Si vous autorisez des noms d'hôte spécifiques dans les paramètres de votre tracker, veuillez également ajouter localhost aux noms d'hôte autorisés.

customScriptUrl

OptionnelType: stringValeur par défaut: "https://cdn.metricalp.com/event/metricalp.js"

Si vous avez proxifié le fichier de script des événements de Metricalp pour éviter les bloqueurs de publicité, utilisez cet attribut pour fournir l'URL du script proxy. Consultez cette documentation pour plus d'informations.

customEventEndpoint

OptionnelType: stringValeur par défaut: "https://event.metricalp.com"

Si vous avez proxifié le point de terminaison des événements de Metricalp pour éviter les bloqueurs de publicité, utilisez cet attribut pour fournir le point de terminaison proxy. Consultez cette documentation pour plus d'informations.

disableAutoRouteCatch

OptionnelType: booleanValeur par défaut: undefined (donc false)

Par défaut, Metricalp écoute les événements window.history pour capturer les changements de route dans les applications JS. Vous pouvez le désactiver en définissant cet attribut sur true, puis vous pouvez suivre les routes manuellement.

hashRouting

OptionnelType: booleanValeur par défaut: undefined (donc false)

Si votre application utilise le routage par hachage (example.com/#about, example.com/#homepage), vous pouvez définir cet attribut sur true. Metricalp écoutera alors les changements de route par hachage.

allowCustomElmEvents

OptionnelType: booleanValeur par défaut: undefined (donc false)

Metricalp prend en charge par défaut le suivi des événements personnalisés basés sur les attributs HTML. Comme <button data-metricalp-event="follow click" data-metricalp-user="John">Click</button>, ce clic sur le bouton créera un événement personnalisé nommé "follow click" avec une propriété personnalisée "user" ayant la valeur "John". Vous pouvez désactiver cette fonction en définissant cet attribut sur false. Dans la bibliothèque, elle est désactivée par défaut, tandis que la collecte des événements personnalisés via l'API est plus robuste comme décrit ci-dessus. Consultez cette documentation pour plus d'informations

initialSharedCustomProps

OptionnelType: objectValeur par défaut: undefined

Si vous souhaitez joindre automatiquement certaines propriétés personnalisées pour tous ou certains événements spécifiques, vous pouvez utiliser le prop initialSharedCustomProps.

tsx
<MetricalpReactProvider
    allowLocalhost
    tid="mam123456"
    initialSharedCustomProps={{
      _global: { custom_prop3: "v1.0" },
      screen_view: { color: 'red', custom_prop2: 'Test' } 
  }}>

_global est une clé spéciale pour joindre certaines propriétés à tous les événements. Gardez à l'esprit que, si vous joignez une propriété personnalisée via un alias, cet alias doit être défini pour les événements cibles dans les Paramètres du Tracker; sinon, il sera ignoré pour cet événement. Vous pouvez toujours utiliser la syntaxe custom_prop1 pour tout événement.

Lorsque vous souhaitez mettre à jour sharedCustomProps après la configuration initiale pour un type d'événement spécifique, vous pouvez utiliser la méthode exportée `updateSharedCustomPropsForType` comme suit: updateSharedCustomPropsForType('screen_view', { color: 'red' }). De plus, si vous souhaitez réinitialiser l'ensemble de l'objet sharedCustomProps à un nouvel objet, vous pouvez utiliser la méthode exportée `resetSharedCustomProps` comme suit: resetSharedCustomProps({ _global: { custom_prop3: 'v1.7' }, screen_view: { color: 'blue' } }). Consultez cette documentation pour plus d'informations.