Integration mit React

Zweifellos ist React heutzutage eines der bekanntesten Frontend-Frameworks. Wir bei Metricalp freuen uns, eine offizielle Integrationsbibliothek für React und NextJS zu haben. Wenn Sie NextJS verwenden, schauen Sie sich bitte die NextJS Integrationsdokumente an. Wenn Sie React verwenden, sind Sie hier genau richtig. Fangen wir an!

Unsere Integrationsbibliothek auf NPM heißt @metricalp/react

Installation

Sie können es installieren als:

yarn add @metricalp/react

oder

npm install @metricalp/react

Integration

Im obersten Level Ihrer App in src/index.js | src/main.tsx (Vite) | App.js, wickeln Sie Ihre App mit MetricalpReactProvider ein. Geben Sie dann Ihre tid (alias TrackerID) als Prop an den Provider. Im Grunde war's das schon, Metricalp beginnt automatisch alle Besuchs- und Routenänderungsereignisse zu sammeln. Aber Sie können das Verhalten mit Props anpassen. Wir erklären alles.

Beispiel (Vite-basierte React-Anwendung)

Importieren Sie in src/main.tsx die Bibliothek import { MetricalpReactProvider } from '@metricalp/react';. Dann wickeln Sie Ihre App ein mit <MetricalpReactProvider allowLocalhost tid="YOUR_TID">

VERGESSEN SIE NICHT, das tid-Prop durch Ihre tid zu ersetzen.

Wir haben allowLocalhost hinzugefügt, weil Metricalp standardmäßig nicht auf localhost funktioniert, um Ihre Kontingentgrenzen zu schützen. Wir haben localhost zu Testzwecken zugelassen. Sie sollten es nach einmaligem Testen entfernen, um Ihr Kontingent zu sparen. Für detaillierte Informationen überprüfen Sie allow localhost & exclude me docs.

Beispielcode

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>
        );

VERWENDUNG

Wenn Sie die Bibliothek mit Ihrer App integriert haben, beginnt sie automatisch, screen_view-Ereignisse zu verfolgen. Metricalp hört auf Änderungen von window.history und erstellt standardmäßig bei jeder Pfadänderung ein screen_view-Ereignis. Wenn Sie also nur screen_views verfolgen möchten, ist Ihre App direkt nach der Integration bereit. Sie müssen nichts weiter tun. Wenn Sie jedoch benutzerdefinierte Ereignisse erzeugen oder das automatische Routen-Tracking deaktivieren und screen_view-Ereignisse manuell erstellen möchten, folgen Sie diesem Abschnitt.

Ereignisse erzeugen

Sie haben zwei Möglichkeiten, Metricalp-Ereignisse mit dieser Bibliothek zu erzeugen. Ein Hook oder ein direkter Funktionsaufruf.

Ereignisse mit Hook erzeugen

tsx

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

        export default function MyComponent() {
          // Hook aufrufen, um die Metricalp-Ereignisfunktion zu erhalten
          const metricalpEvent = useMetricalp();
        
          return (
            <div>
              <button
                onClick={() => {
                  metricalpEvent({ type: 'click_test_button', custom_prop1: 'hook' });
                }}>
                Click me
              </button>
            </div>
          );
        }

Ereignisse mit direktem Funktionsaufruf erzeugen

Manchmal (außerhalb von Komponenten) können Sie in React keine Hooks aufrufen. Dann können Sie die direkte Ereignisauslöserfunktion von Metricalp importieren.

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>
          );
        }

Es liegt ganz bei Ihnen, ob Sie in Ihrer gesamten App Hook oder direkten Funktionsaufruf bevorzugen. Sie können entscheiden, nur einen zu verwenden oder beide je nach Verwendungsort zu nutzen. In den obigen Beispielen erzeugen wir benutzerdefinierte Ereignisse mit benutzerdefinierten Eigenschaften. In Ihrem Metricalp-Dashboard können Sie Aliase für custom_prop festlegen, dann können Sie diesen Schlüssel direkt in den Ereignissen verwenden. Zum Beispiel: metricalpEvent({ type: 'click_test_button', user_role: 'admin' }); Hier haben wir user_role als Alias für custom_prop1 in den Tracker-Einstellungen definiert und verwenden ihn nun direkt in den Ereignissen.

Anpassen der Verhaltensweisen mit Props

tid

ErforderlichTyp: stringStandardwert: -

Dies ist Ihre tid, auch bekannt als Tracker-ID. Sie können Informationen darüber erhalten, wie Sie sie erhalten können unter Tracker-Einstellungen / Einbetten & Teilen. Sie müssen dieses Attribut angeben, damit Metricalp funktioniert.

allowLocalhost

OptionalTyp: booleanStandardwert: undefined (also false)

Wenn Sie Metricalp auf Ihrem localhost zu Testzwecken integrieren, können Sie dieses Attribut auf "true" setzen. Andernfalls sammelt Metricalp keine Ereignisse auf localhost, um Ihr Nutzungskontingent zu schonen. Sehen Sie sich diese Dokumente für detaillierte Informationen an Wenn Sie bestimmte Hostnamen in Ihren Tracker-Einstellungen zulassen, fügen Sie bitte auch localhost zu den erlaubten Hostnamen hinzu.

customScriptUrl

OptionalTyp: stringStandardwert: "https://cdn.metricalp.com/event/metricalp.js"

Wenn Sie die Metricalp-Ereignisskriptdatei proxyten, um Werbeblocker zu verhindern, verwenden Sie dieses Attribut, um die URL des Proxy-Skripts anzugeben. Sehen Sie sich diese Dokumente für detaillierte Informationen an.

customEventEndpoint

OptionalTyp: stringStandardwert: "https://event.metricalp.com"

Wenn Sie den Metricalp-Ereignisendpunkt proxyen, um Werbeblocker zu verhindern, verwenden Sie dieses Attribut, um den Proxy-Endpunkt anzugeben. Sehen Sie sich diese Dokumente für detaillierte Informationen an.

disableAutoRouteCatch

OptionalTyp: booleanStandardwert: undefined (also false)

Standardmäßig hört Metricalp auf window.history-Ereignisse, um Routenänderungen in JS-Anwendungen zu erfassen. Sie können dies deaktivieren, indem Sie dieses Attribut auf true setzen, dann können Sie die Routen manuell verfolgen.

hashRouting

OptionalTyp: booleanStandardwert: undefined (also false)

Wenn Ihre Anwendung Hash-Routing verwendet (example.com/#about, example.com/#homepage), können Sie dieses Attribut auf true setzen. Dann hört Metricalp auf Hash-Routenänderungen.

allowCustomElmEvents

OptionalTyp: booleanStandardwert: undefined (also false)

Metricalp unterstützt standardmäßig die verfolgung von benutzerdefinierten Ereignissen basierend auf HTML-Attributen. Wie <button data-metricalp-event="follow click" data-metricalp-user="John">Click</button>, dieser Button-Klick erstellt ein benutzerdefiniertes Ereignis mit dem Namen "follow click" und benutzerdefinierte Eigenschaft "user" mit dem Wert "John". Sie können diese Funktion deaktivieren, indem Sie dieses Attribut auf false setzen. In der Bibliothek ist es standardmäßig deaktiviert, während die Sammlung benutzerdefinierter Ereignisse über die API robuster ist, wie oben beschrieben. Sehen Sie sich diese Dokumente für detaillierte Informationen an

initialSharedCustomProps

OptionalTyp: objectStandardwert: undefined

Wenn Sie einige benutzerdefinierte Eigenschaften automatisch und standardmäßig für alle oder einige bestimmte Ereignisse anhängen möchten, können Sie das initialSharedCustomProps-Attribut verwenden.

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

_global ist ein spezieller Schlüssel zum Anhängen von Eigenschaften an alle Ereignisse. Beachten Sie, dass, wenn Sie eine benutzerdefinierte Eigenschaft über einen Alias anhängen, dieser Alias für die Zielereignisse in den Tracker-Einstellungen definiert sein muss, andernfalls wird er für dieses Ereignis ignoriert. Sie können immer die Syntax custom_prop1 für jedes Ereignis verwenden.

Wenn Sie sharedCustomProps nach der anfänglichen Einrichtung für einen bestimmten Ereignistyp aktualisieren möchten, können Sie die exportierte Methode `updateSharedCustomPropsForType` wie folgt verwenden: updateSharedCustomPropsForType('screen_view', { color: 'red' }). Wenn Sie das gesamte sharedCustomProps-Objekt auf ein neues Objekt zurücksetzen möchten, können Sie die exportierte Methode `resetSharedCustomProps` wie folgt verwenden: resetSharedCustomProps({ _global: { custom_prop3: 'v1.7' }, screen_view: { color: 'blue' } }). Sehen Sie sich diese Dokumente für detaillierte Informationen an.