Skip to main content
Mit dem Kameleoon React SDK können Sie Feature-Experiments ausführen und feature flags in Ihrer Frontend-Web- und Mobilanwendung aktivieren. Die Integration unseres SDK in Ihre Web- und Mobilanwendung ist einfach, und der Footprint (Speicher- und Netzwerknutzung) ist gering. Erste Schritte: Hilfe für den Einstieg finden Sie im Entwicklerhandbuch Changelog: Details zur neuesten Version des React SDK finden Sie im Changelog. SDK-Methoden: Die vollständige Referenzdokumentation des React SDK finden Sie im Abschnitt Referenz. Anforderungen: Das React SDK erfordert React 16.8.0+

Entwicklerhandbuch

Folgen Sie diesem Abschnitt, um das SDK in Ihre Anwendung zu integrieren und mehr über die Verwendung des SDK zu erfahren.

Erste Schritte

Dieser Abschnitt führt Sie durch die erstmalige Installation und Konfiguration des SDK.

Installation

Das Kameleoon SDK-Installationstool ist der bevorzugte Weg, das SDK zu installieren. Dieser SDK Installer hilft Ihnen, das gewünschte SDK zu installieren, ein einfaches Codebeispiel zu generieren und bei Bedarf externe Abhängigkeiten zu konfigurieren. Um das SDK-Installationstool zu starten, installieren und führen Sie es global aus:
Oder führen Sie es direkt mit npx:

Erstellen des Kameleoon Clients

Um zu beginnen, erstellen Sie einen Einstiegspunkt für das React SDK, indem Sie den Kameleoon Client auf der obersten Ebene Ihrer Anwendung erstellen. Erstellen Sie eine Instanz von KameleoonClient mit der Funktion createClient(), die aus dem Paket kameleoon importiert wird.

Umschließen der Anwendung mit dem Kameleoon Provider

Im zweiten Schritt verbinden Sie den zuvor erstellten Kameleoon Client mit KameleoonProvider indem Sie den konfigurierten Client an KameleoonProvider übergeben:
KameleoonProvider
Verwenden Sie diesen Provider auf der obersten Ebene, indem Sie Ihre App umschließen, um Zugriff zu erhalten auf KameleoonClient. Dies stellt sicher, dass Ihre App beim Start nicht aufgrund von Flag-Änderungen flackert.
Props
KameleoonProviderSSR
Verwenden Sie diesen Provider auf der obersten Ebene, indem Sie Ihre App umschließen, um Zugriff zu erhalten auf KameleoonClient. KameleoonProviderSSR unterscheidet sich von KameleoonProvider dadurch, dass es eine KameleoonClient -Instanz im Kontext bei der ersten Client-Anfrage erstellt. Dies verhindert das Risiko, den Client auf der Serverseite zu erstellen. Es wird zur Verwendung in SSR-basierten Systemen empfohlen, z. B. Next.js mit SSR.
Props

Warten auf die Client-Initialisierung

KameleoonClient -Initialisierung erfolgt asynchron, um sicherzustellen, dass der Kameleoon-API-Aufruf für diesen Hook erfolgreich war. useInitialize wird verwendet. Sie können async/await, Promise.then() oder eine andere Methode verwenden, um die asynchrone Client-Initialisierung zu behandeln.

Aktivieren eines feature flags

Zuweisen einer eindeutigen ID an einen Benutzer
Um einem Benutzer eine eindeutige ID zuzuweisen, können Sie die Methode getVisitorCode() verwenden. Wenn ein visitor code nicht existiert (aus dem Cookie der Request-Header), generiert die Methode eine zufällige eindeutige ID oder verwendet einen defaultVisitorCode , den Sie generiert hätten. Die ID wird dann in einem Response-Headers-Cookie gesetzt. Wenn Sie Kameleoon im Hybrid-Modus verwenden, stellt der Aufruf der Methode getVisitorCode() sicher, dass die eindeutige ID (visitor code) zwischen der Anwendungsdatei engine.js (früher kameleoon.js genannt) und dem SDK geteilt wird.
Abrufen einer Flag-Konfiguration
Um einen feature flag in Ihrem Code zu implementieren, müssen Sie zunächst den feature flag in Ihrem Kameleoon-Konto erstellen. Um den Status oder die Variation eines feature flags für einen bestimmten Benutzer zu bestimmen, sollten Sie die Methode getVariation() oder isFeatureFlagActive() verwenden, um die Konfiguration basierend auf dem featureKey abzurufen. Die Methode getVariation() behandelt sowohl einfache feature flags mit ON/OFF-Zuständen als auch komplexere Flags mit mehreren Variationen. Die Methode ruft die passende Variation für den Benutzer ab, indem sie die Feature-Regeln prüft, die Variation zuweist und sie basierend auf dem featureKey und visitorCode zurückgibt. Die Methode isFeatureFlagActive() kann verwendet werden, wenn Sie die Konfiguration eines einfachen feature flags mit nur einem ON- oder OFF-Zustand abrufen möchten, im Gegensatz zu komplexeren feature flags mit mehreren Variationen oder Targeting-Optionen. Wenn Ihr feature flag zugehörige Variablen hat (wie spezifische Verhaltensweisen, die an jede Variation gebunden sind), getVariation() ermöglicht Ihnen auch den Zugriff auf das Objekt Variation, das Details zur zugewiesenen Variation und zum zugehörigen Experiment liefert. Diese Methode prüft, ob der Benutzer getargetet ist, ermittelt die dem Besucher zugewiesene Variation und speichert sie. Wenn track=true, sendet das SDK das Expositionsereignis bei der nächsten Tracking-Anfrage an das angegebene Experiment, das automatisch basierend auf dem tracking_interval_millisecond des SDK ausgelöst wird. Standardmäßig ist dieses Intervall auf 1000 Millisekunden (1 Sekunde) eingestellt. Die Methode getVariation() ermöglicht Ihnen zu steuern, ob Tracking durchgeführt wird. Wenn track=false, werden vom SDK keine Expositionsereignisse gesendet. Dies ist nützlich, wenn Sie es vorziehen, keine Daten über das SDK zu tracken und stattdessen auf clientseitiges Tracking durch die Kameleoon-Engine zurückzugreifen. Zusätzlich ist die Einstellung track=false hilfreich bei Verwendung der Methode getVariations() , bei der Sie möglicherweise nur die Variationen für alle Flags benötigen, ohne Tracking-Ereignisse auszulösen. Wenn Sie mehr darüber erfahren möchten, wie Tracking funktioniert, lesen Sie diesen Artikel
Hinzufügen von Datenpunkten, um einen Benutzer zu targeten oder Besuche in Reports zu filtern/aufzuschlüsseln
Um einen Benutzer zu targeten, stellen Sie sicher, dass Sie relevante Datenpunkte zu seinem Profil hinzugefügt haben, bevor Sie die Feature-Variation abrufen oder prüfen, ob der Flag aktiv ist. Verwenden Sie die Methode addData(), um diese Datenpunkte zum Benutzerprofil hinzuzufügen. Um Datenpunkte abzurufen, die auf anderen Geräten gesammelt wurden, oder um auf frühere Benutzerdaten zuzugreifen (clientseitig erfasst bei der Verwendung von Kameleoon im Hybrid mode), verwenden Sie die Methode getRemoteVisitorData(). Diese Methode ruft Daten asynchron von den Servern ab. Es ist wichtig, getRemoteVisitorData() vor dem Abrufen der Variation oder dem Prüfen, ob der feature flag aktiv ist, aufzurufen, da diese Daten möglicherweise erforderlich sind, um einem Benutzer eine bestimmte Variation zuzuweisen. Weitere Informationen zu verfügbaren Targeting-Bedingungen finden Sie im ausführlichen Artikel zum Thema. Zusätzlich stehen die zum Besucherprofil hinzugefügten Datenpunkte zur Verfügung, wenn Sie Ihre Experiments analysieren, sodass Sie Ihre Ergebnisse nach Faktoren wie Gerät und Browser filtern und aufschlüsseln können. Der Kameleoon Hybrid mode sammelt automatisch eine Vielzahl von Datenpunkten auf der Client-Seite, was es einfach macht, Ihre Ergebnisse auf Basis dieser vorab gesammelten Datenpunkte aufzuschlüsseln. Die vollständige Liste finden Sie hier. Wenn Sie zusätzliche Datenpunkte über das automatisch gesammelte hinaus tracken müssen, können Sie das Custom Data-Feature von Kameleoon verwenden. Mit Custom Data können Sie spezifische Informationen erfassen und analysieren, die für Ihre Experiments relevant sind. Vergessen Sie nicht, die Methode flush() aufzurufen, um die gesammelten Daten zur Analyse an die Kameleoon-Server zu senden.
Um sicherzustellen, dass Ihre Ergebnisse korrekt sind, wird empfohlen, Bots mithilfe des Datentyps UserAgent herauszufiltern.
Tracking von Ziel-Konversionen
Wenn ein Benutzer eine gewünschte Aktion ausführt (z. B. einen Kauf tätigt), wird dies als Konversion aufgezeichnet. Um Konversionen zu tracken, verwenden Sie die Methode trackConversion() und geben Sie die erforderlichen visitorCode und goalId -Parameter an. Die Konversions-Tracking-Anfrage wird zusammen mit der nächsten geplanten Tracking-Anfrage gesendet, die das SDK in regelmäßigen Abständen sendet (definiert durch tracking_interval_millisecond). Wenn Sie die Anfrage sofort senden möchten, verwenden Sie die Methode flush() mit dem Parameter instant=true.
Senden von Events an Analyselösungen
Um Konversionen zu tracken und Expositionsereignisse an Ihre Kundenanalyselösung zu senden, müssen Sie Kameleoon zunächst im Hybrid-Modus implementieren. Verwenden Sie dann die Methode getEngineTrackingCode(). Die Methode getEngineTrackingCode() ruft den eindeutigen Tracking-Code ab, der erforderlich ist, um Expositionsereignisse an Ihre Analyselösung zu senden. Mit dieser Methode können Sie Ereignisse aufzeichnen und an die gewünschte Analyseplattform senden.

Hinweise zu React Native

React Native auf der Plattform android unterstützt das Feature Real Time Update nicht.
Während das React SDK in React Native- und React-Kontexten auf die gleiche Weise funktioniert, ist zu beachten, dass sich die Setup-Schritte unterscheiden. Da der Browser API in React Native fehlt, muss das React SDK unterschiedliche Externe Abhängigkeiten Implementierungen haben, um korrekt zu funktionieren. Dazu stellt Kameleoon mehrere dedizierte npm-Pakete bereit, die Sie manuell installieren und einrichten oder mithilfe des Kameleoon SDK Installation Tool installieren können (empfohlen). Die Pakete umfassen:
  • @kameleoon/react-native-storage - erstellt mit der react-native-mmkv -Bibliothek
  • @kameleoon/react-native-event-source - erstellt mit der react-native-event-source-ts -Bibliothek
  • @kameleoon/react-native-visitor-code-manager - aufgebaut auf der react-native-mmkv -Bibliothek
  • @kameleoon/react-native-platform-analyzer - erstellt mit der react-native -Bibliothek
  • optional @kameleoon/react-native-secure-prng - erstellt mit der react-native-get-random-values -Bibliothek
Wenn Sie die aufgeführten Pakete nicht verwenden möchten, können Sie Ihre eigene Implementierung gemäß dem Leitfaden zu externen Abhängigkeiten. Beispiel für die Einrichtung des React SDK für eine React Native-Anwendung:

Verwendung eines benutzerdefinierten Bucketing-Schlüssels

Standardmäßig verwendet Kameleoon eine eindeutige, anonyme Besucher-ID (visitorCode), um Benutzer feature flag-Variationen zuzuweisen. Diese ID wird typischerweise auf dem Gerät des Benutzers generiert und gespeichert (in einem Browser-Cookie für Client-Side- und Server-Side-SDKs, in persistentem Speicher für Mobile-SDKs). In bestimmten Szenarien müssen Sie jedoch möglicherweise sicherstellen, dass alle Benutzer derselben Organisation dieselbe Variante eines feature flags sehen. Mit der Option Custom Bucketing Key können Sie dieses Standardverhalten überschreiben, indem Sie Ihren eigenen benutzerdefinierten Identifikator für das Bucketing bereitstellen. Diese Überschreibung stellt sicher, dass die Zuweisungslogik von Kameleoon Ihren angegebenen Schlüssel anstelle des Standard-visitorCode.

Anwendungsfälle

Die Verwendung eines benutzerdefinierten Bucketing-Schlüssels ist entscheidend, um Konsistenz und Genauigkeit bei Ihren feature flag-Zuweisungen zu wahren, insbesondere in folgenden Situationen:
  • Experiments auf Konto- oder Organisationsebene: Für B2B-Produkte oder Szenarien, in denen Sie alle Benutzer derselben Organisation derselben Variation zuweisen möchten, können Sie einen Identifikator wie eine accountId verwenden. Benutzerdefinierte Bucketing-Schlüssel sind entscheidend für A/B-Tests von Features, die ein gesamtes Team oder Unternehmen betreffen.
Durch die Implementierung eines benutzerdefinierten Bucketing-Schlüssels gewährleisten Sie eine höhere Konsistenz und Genauigkeit in Ihren Experiments, was zu zuverlässigeren Ergebnissen und einer besseren Benutzererfahrung führt.

Technische Details

Wenn Sie einen benutzerdefinierten Bucketing-Schlüssel für einen feature flag konfigurieren, stellen Sie Kameleoon einen bestimmten Identifikator aus den Daten Ihrer Anwendung bereit:
  • Bereitstellen des benutzerdefinierten Schlüssels: Sie stellen dem Kameleoon SDK Ihren benutzerdefinierten Identifikator mithilfe der Methode addData() bereit. In dieser Methode übergeben Sie Ihren gewählten benutzerdefinierten Bucketing-Schlüssel als CustomData -Objekt. Hier bezieht sich newVisitorCode auf den Identifikator, den Sie für Ihr Bucketing verwenden möchten (z. B. die neue userId oder accountId).
Damit der benutzerdefinierte Bucketing-Schlüssel korrekt funktioniert, muss er auch für den feature flag während der Flag-Erstellung oder -Bearbeitung definiert und konfiguriert werden. Ohne diese entsprechende Konfiguration wendet das Bucketing des SDK Ihren benutzerdefinierten Schlüssel nicht an. Detaillierte Anweisungen zur Einrichtung in Kameleoon finden Sie in diesem Artikel.
  • Bucketing-Logik: Sobald ein benutzerdefinierter Bucketing-Schlüssel über die Methode addData() bereitgestellt wird, verwenden alle Hash-Berechnungen für die Zuweisung von Benutzern zu Variationen diesen newVisitorCode (Ihren benutzerdefinierten Schlüssel) anstelle des Standard-visitorCode. Die Verwendung des newVisitorCode bedeutet, dass die Bucketing-Entscheidung an Ihren benutzerdefinierten Identifikator gebunden ist, was konsistente Zuweisungen in verschiedenen Kontexten gewährleistet, in denen dieser Identifikator vorhanden ist.
  • Datentracking und Analyse: Es ist wichtig zu beachten, dass der newVisitorCode (Ihr benutzerdefinierter Schlüssel) für Bucketing-Entscheidungen verwendet wird, alle nachfolgenden Daten (z. B. Tracking-Ereignisse und Konversionen) jedoch gesendet und mit dem ursprünglichen visitorCode verknüpft sind. Diese Trennung stellt sicher, dass Ihre Analysen die individuellen Benutzerwege und Interaktionen im breiteren Kontext Ihres Experiments korrekt widerspiegeln, auch wenn das Bucketing auf einer höheren Ebene (wie einem Konto) oder über mehrere Geräte/Sitzungen hinweg erfolgt. Ihre ursprünglichen Besucherdaten bleiben für umfassende Berichte intakt.

Technische Anforderungen

Um einen benutzerdefinierten Bucketing-Schlüssel effektiv zu nutzen:
  • Der Schlüssel muss ein string sein.
  • Er muss für die Entität, die Sie bucketieren möchten, eindeutig sein (z. B. wenn Sie eine userId verwenden, sollte die ID jedes Benutzers eindeutig sein).
  • Der Schlüssel muss dem SDK genau in dem Moment zur Verfügung stehen, in dem die feature flag-Entscheidung für diesen Benutzer oder diese Anfrage ausgewertet wird.

Targeting-Bedingungen

Die Kameleoon SDKs unterstützen eine Vielzahl vordefinierter Targeting-Bedingungen, mit denen Sie Benutzer in Ihren Kampagnen targeten können. Eine Liste der von diesem SDK unterstützten Bedingungen finden Sie unter Besucherverlauf zum Targeting von Benutzern verwenden. Sie können auch Ihre eigenen externe Daten zum Targeting von Benutzern.

Protokollierung

Das SDK generiert Logs, die verschiedene interne Prozesse und Probleme widerspiegeln.

Log-Level

Das SDK unterstützt die Begrenzung des Loggings nach Log-Level.

Benutzerdefinierte Log-Behandlung

Das SDK schreibt seine Logs standardmäßig in die Konsolenausgabe. Dieses Verhalten kann überschrieben werden.
Die Log-Begrenzung nach Log-Level erfolgt unabhängig von der Log-Behandlungslogik.

Domain-Informationen

Sie geben eine Domain als domain in KameleoonClient [Konfiguration] an, die zum Speichern des Kameleoon-Besucher-Codes in Cookies verwendet wird. Dies ist wichtig bei der Arbeit mit den Methoden getVisitorCode und setLegalConsent Die von Ihnen angegebene Domain wird im Cookie als Domain=-Schlüssel gespeichert.

Festlegen der Domain

Die von Ihnen angegebene Domain gibt an, dass die URL-Adresse das Cookie verwenden kann. Wenn Ihre Domain z. B. www.example.com. ist, ist das Cookie nur von einer www.example.com-URL aus verfügbar. Das bedeutet, dass Seiten mit der Domain app.example.com das Cookie nicht verwenden können. Um flexibler mit Subdomains umzugehen, können Sie einer Domain ein . voranstellen. Beispielsweise erlaubt die Domain .example.com, dass das Cookie sowohl auf app.example.com als auch auf login.example.com funktioniert.
Sie können keine regulären Ausdrücke, Sonderzeichen, Protokolle oder Portnummern im domain verwenden. Außerdem darf eine bestimmte Liste von Subdomains nicht mit dem Präfix . verwendet werden.
Hier ist ein kleiner Domain-Spickzettel:

Entwicklung auf localhost

localhost wird immer als ungültige Domain betrachtet, was das Testen der Domain bei der Entwicklung auf localhost erschwert. Es gibt zwei Möglichkeiten, dieses Problem zu vermeiden:
  • Geben Sie das Feld domain im SDK-Client beim Testen nicht an. Dies verhindert localhost -Probleme (das Cookie wird auf jeder Domain gesetzt).
  • Erstellen Sie eine lokale Domain für localhost. Zum Beispiel:
    • Navigieren Sie zu /etc/hosts unter Linux oder zu c:\Windows\System32\Drivers\etc\hosts unter Windows
    • Öffnen Sie hosts mit Superuser- oder Administratorrechten
    • Fügen Sie dem localhost-Port eine Domain hinzu, z. B.: 127.0.0.1 app.com
    • Jetzt können Sie Ihre App lokal auf app.com:{my_port} ausführen und .app.com als Ihre Domain angeben

Externe Abhängigkeiten

Externe SDK-Abhängigkeiten verwenden das Muster dependency injection, um Ihnen die Möglichkeit zu geben, Ihre eigenen Implementierungen für bestimmte Teile eines SDK bereitzustellen.
Im React SDK haben alle external dependencies Standardimplementierungen, die eine native Browser-API verwenden, sodass keine Bereitstellung erforderlich ist, es sei denn, eine andere API ist für bestimmte Anwendungsfälle erforderlich.
Hier ist die Liste der verfügbaren external dependencies: Das folgende Beispiel implementiert external dependencies. Um eine Schnittstelle aus einem SDK zu importieren, erstellen Sie eine Klasse, die sie implementiert, und übergeben Sie die instanziierte Klasse an das SDK.

Storage

EventSource

VisitorCodeManager

Requester

Pseudo-Zufallszahlengenerator

Pseudo Random Number Generator (PRNG) ist eine Abhängigkeit, die eine zufällige Gleitkommazahl zwischen 0 und 1 erzeugt (ähnlich zu Math.random). Die standardmäßige Kameleoon-Implementierung basiert auf der Browser-Funktion crypto oder Math.random , falls crypto nicht verfügbar ist. Diese APIs sind sehr sicher und zuverlässig, jedoch möchten Sie in einigen Randfällen (insbesondere in einigen React Native -Engines) möglicherweise Ihre eigene Implementierung bereitstellen oder ein dediziertes Kameleoon-Paket für React Native verwenden - @kameleoon/react-native-secure-prng

Fehlerbehandlung

Fast jeder React SDK-Callback, der von Hooks zurückgegeben wird, kann irgendwann einen Fehler werfen. Diese Fehler sind nicht nur Warnhinweise, sondern bewusst vordefinierte KameleoonErrors die die nativ JavaScript-Klasse Error erweitern und nützliche Meldungen sowie ein spezielles Feld type vom Typ KameleoonException. KameleoonException ist ein Enum, das alle möglichen Fehlertypen enthält. Um genau zu wissen, welche Art von KameleoonException die Callbacks werfen können, können Sie den Abschnitt Throws der Hook-Beschreibung auf dieser Seite überprüfen oder einfach den Mauszeiger über den Callback in Ihrer IDE bewegen, um die jsdocs-Beschreibung anzuzeigen. Insgesamt gilt die Fehlerbehandlung als gute Praxis, um Ihre Anwendung stabiler zu machen und technische Probleme zu vermeiden.

Cross-Device-Experimentation

Um Besucher zu unterstützen, die von mehreren Geräten aus auf eine App zugreifen, ermöglicht Kameleoon die Synchronisierung zuvor gesammelter Besucherdaten über jedes Gerät des Besuchers hinweg und die Abgleichung des Besuchsverlaufs über Geräte hinweg durch Cross-Device-Experimentation. Fallstudien und detaillierte Informationen darüber, wie Kameleoon Daten geräteübergreifend verarbeitet, finden Sie im Artikel zur Cross-Device-Experimentation.

Synchronisierung von Custom Data über Geräte hinweg

Obwohl die benutzerdefinierte Mapping-Synchronisierung verwendet wird, um Besucherdaten geräteübergreifend abzugleichen, ist sie nicht immer erforderlich. Im Folgenden sind zwei Szenarien aufgeführt, in denen keine benutzerdefinierte Mapping-Synchronisierung erforderlich ist: Dieselbe Benutzer-ID auf allen Geräten Wenn dieselbe Benutzer-ID konsistent auf allen Geräten verwendet wird, erfolgt die Synchronisierung automatisch ohne benutzerdefinierte Mapping-Synchronisierung. Es genügt, die Methode getRemoteVisitorData() aufzurufen, wenn Sie die zwischen mehreren Geräten gesammelten Daten synchronisieren möchten. Multi-Server-Instanzen mit konsistenten IDs In komplexen Setups mit mehreren Servern (z. B. verteilten Serverinstanzen), bei denen dieselbe Benutzer-ID auf allen Servern verfügbar ist, ist die Synchronisierung zwischen Servern (mit getRemoteVisitorData()) ohne zusätzliche benutzerdefinierte Mapping-Synchronisierung ausreichend. Kunden, die zusätzliche Daten benötigen, können die Beschreibung der Methode getRemoteVisitorData() für weitere Anleitungen heranziehen. Im folgenden Code wird angenommen, dass derselbe eindeutige Identifikator (in diesem Fall der visitorCode, der auch als userId) bezeichnet werden kann) konsistent zwischen den beiden Geräten verwendet wird, um Daten korrekt abzurufen.
Wenn Sie die gesammelten Daten in Echtzeit synchronisieren möchten, müssen Sie den Scope Visitor für Ihre Custom Data wählen.
Device One
Device Two

Verwendung von Custom Data für Session-Zusammenführung

Cross-Gerät-Experimente ermöglichen es Ihnen, den Verlauf eines Besuchers über alle seine Geräte hinweg zu kombinieren (Verlauf-Abgleich). Eine der wertvollen Funktionen, die der Verlauf-Abgleich bietet, ist die Möglichkeit, verschiedene Besuchersitzungen in eine zusammenzuführen. Um den Besuchsverlauf abzustimmen, können Sie CustomData verwenden, um eine eindeutige Kennung für den Besucher bereitzustellen.Folgen Sie der Anleitung zum Aktivieren des Cross-Gerät-Verlauf-Abgleichs, um Ihre Custom Data auf der Kameleoon-Plattform einzurichten.Wenn Ihre Custom Data eingerichtet sind, können Sie sie in Ihrem Code verwenden, um die Sitzung eines Besuchers zusammenzuführen. Sitzungen mit demselben Identifikator sehen immer dieselbe Experiment-Variation und werden als ein einzelner Besucher in der Ansicht Visitor auf den Ergebnisseiten Ihres Experiments angezeigt.Die SDK-Konfiguration stellt sicher, dass zugeordnete Sitzungen immer dieselbe Variation des Experiments sehen.Bevor Sie andere Methoden verwenden, stellen Sie sicher, dass Sie dem SDK mitteilen, dass der Besucher ein eindeutiger Identifikator ist, indem Sie UniqueIdentifier -Daten zu einem Besucher hinzufügen
Da die Custom Data, die Sie als Identifikator verwenden, auf den Visitor Umfang eingestellt werden muss, müssen Sie die Cross-Gerät-Custom-Data-Synchronisierung verwenden, um die Kennung mit der Methode getRemoteVisitorData auf jedem Gerät abzurufen.
Hier ist ein Beispiel, wie Sie Custom Data für die Session-Zusammenführung verwenden. In diesem Beispiel haben wir eine Anwendung mit einer Login-Seite. Da wir die Benutzer-ID zum Zeitpunkt des Logins nicht kennen, verwenden wir einen anonymen Besucher-Identifikator, der durch die Methode getVisitorCode generiert wird. Nachdem sich der Benutzer angemeldet hat, können wir den anonymen Besucher mit der Benutzer-ID verknüpfen und sie als eindeutigen Identifikator für den Besucher verwenden.
Login Page
Application Page

Utilities

Das SDK verfügt über eine Reihe von Utility-Methoden, die zur Vereinfachung des Entwicklungsprozesses verwendet werden können. Alle Methoden werden als statische Mitglieder der Klasse KameleoonUtils class.

simulateSuccessRequest

Die Methode simulateSuccessRequest wird verwendet, um eine erfolgreiche Anfrage an den Kameleoon Server zu simulieren. Sie kann für benutzerdefinierte Requester Implementierungen nützlich sein, wenn ein Entwickler eine erfolgreiche Anfrage simulieren muss, beispielsweise zum Deaktivieren von Tracking.
Parameter
Data type SimulateRequestDataType ist wie folgt definiert:
  • RequestType.Tracking - null
  • RequestType.ClientConfiguration - ClientConfigurationDataType
  • RequestType.RemoteData - JSONType
Rückgabewert

getCookieValue

Die Methode getCookieValue wird verwendet, um eine gängige Cookie-Zeichenfolge zu parsen (key_1=value_1; key_2=value_2; ...) und den Wert eines bestimmten Cookie-Schlüssels abzurufen. Sie ist nützlich, wenn mit einer benutzerdefinierten Implementierung von VisitorCodeManager.
Parameter
Rückgabewert

Referenz

Dies ist die vollständige Referenzdokumentation für das React SDK.

Initialisierung

Dieser Abschnitt enthält die Methoden, die Sie zum Erstellen und Initialisieren des Kameleoon Client in Ihrer Anwendung verwenden.

initialize()

Eine asynchrone Funktion initialize, die mit dem Hook useInitialize erfasst wird, wird für die Initialisierung des KameleoonClient verwendet, indem Kameleoon-SDK-bezogene Daten vom Server abgerufen oder Daten aus einer lokalen Quelle abgerufen werden, wenn diese aktuell sind oder das Update-Intervall nicht erreicht wurde.
  • Wenn die SDK-Konfiguration nicht abgerufen werden konnte, aber eine ältere Konfiguration im SDK-Speicher verfügbar ist, verwendet das SDK die ältere Konfiguration als Fallback, und initialize wirft keinen Fehler.
  • Das SDK unterstützt einen Offline-Modus.
Im Offline-Modus sendet das SDK fehlgeschlagene Tracking-Anfragen für eine der folgenden Methoden automatisch erneut, sobald es erkennt, dass die Internetverbindung wiederhergestellt wurde:
Rückgabewert
Geworfene Ausnahmen

isReady()

isReady() prüft, ob das SDK einsatzbereit ist, das heißt, ob seine Konfiguration erfolgreich geladen wurde. Im Gegensatz zu initialize() gibt diese Methode sofort ein Ergebnis zurück, ohne zu blockieren oder eine Ausnahme auszulösen. Erfassen Sie die isReady-Funktion mit dem useInitialize-Hook. Dies ist besonders nützlich in einem tief verschachtelten Komponentenbaum, da Sie damit die SDK-Bereitschaft überprüfen können, ohne einen globalen Status zu verwalten oder das Initialisierungsergebnis durch Komponenten-Props zu übergeben.
Sobald das SDK bereit ist, bleibt es bereit. Wenn eine spätere Konfigurationsaktualisierung fehlschlägt, verwendet das SDK weiterhin die zuvor heruntergeladene Konfiguration und kehrt nicht in einen nicht bereiten Zustand zurück.
Rückgabewert

createClient()

Um zu beginnen, müssen Sie einen Einstiegspunkt für das React SDK erstellen, indem Sie einen Kameleoon Client auf der obersten Ebene Ihrer Anwendung mit der Funktion createClient() erstellen, die aus dem Paket kameleoon importiert wird. Eine Instanz von KameleoonClient wird mit der Funktion createClient() erstellt.
Parameter
Ein Objekt vom Typ SDKParameters, das folgende Werte enthält:
Konfigurationsparameter
Option 1 (Empfohlen): Verwenden Sie JSON.stringify()
Option 2: Unformatierte JSON-Zeichenfolge (spezielle Zeichen umgehen)
Das Senken von dataFileRefreshInterval erhöht, wie oft das SDK im Hintergrund nach einer neueren Konfiguration sucht, aber die zwischengespeicherte Datendatei eines Besuchers bleibt weiterhin nutzbar, bis sie älter als dataFileCacheTtl wird (standardmäßig 90 Minuten). Verringern Sie stattdessen dataFileCacheTtl, um zu verkürzen, wie lange ein Besucher weiterhin anhand einer veralteten zwischengespeicherten Konfiguration ausgewertet werden kann. Andernfalls steigt der Traffic in ein neu gestartetes Experiment oder Feature Flag schrittweise an, statt sofort das volle Volumen zu erreichen. Weitere Details finden Sie unter Auswirkung auf neu gestartete Experimente und Feature Flags.
Rückgabewert
Stellen Sie sicher, dass Sie nicht mehrere Client-Instanzen in einer Anwendung verwenden, da dies noch nicht vollständig unterstützt wird und die lokale Speicherkonfiguration überschreiben und zu unbeabsichtigtem Verhalten (Bugs) führen kann.

Feature-Flags und Variationen

Dieser Abschnitt enthält die Methoden, mit denen Sie die dem Besucher zugewiesenen feature flags und Variationen abrufen und verwalten.

getVariation()

  • 📨 Sendet Tracking-Daten an Kameleoon (abhängig vom Parameter track )
Ruft die Variation ab, die einem bestimmten Besucher für ein spezifisches Feature Flag zugewiesen ist. Diese Methode nimmt featureKey als erforderliches Argument und track als optionales Argument. Das Argument track ist optional und wird standardmäßig auf true gesetzt. Sie gibt die dem Besucher zugewiesene Variation zurück. Wenn der Besucher nicht mit einer Feature-Flag-Regel verknüpft ist, gibt die Methode die Standard-Variation für das angegebene Feature Flag zurück. Stellen Sie sicher, dass eine ordnungsgemäße Fehlerbehandlung in Ihrem Code implementiert ist, um potenzielle Ausnahmen zu verwalten.
Die Standard-Variation bezieht sich auf die Variation, die einem Besucher zugewiesen wird, wenn dieser keiner vordefinierten Lieferregel für ein Feature Flag entspricht. Mit anderen Worten ist es die Fallback-Variation, die auf alle Benutzer angewendet wird, die nicht durch spezifische Regeln targetiert werden. Sie wird als die Variation im Abschnitt “Then, for everyone else…” in einer Management-Oberfläche dargestellt.
Parameter
Ein Objekt vom Typ GetVariationParamsType mit den folgenden Eigenschaften:
Rückgabewert
Geworfene Ausnahmen

getVariations()

  • 📨 Sendet Tracking-Daten an Kameleoon (abhängig vom Parameter track )
  • 🎯 Ereignisse: EventType.Evaluation
Die Methode wird über den Hook useFeatureFlag abgerufen.
Ruft eine Zuordnung von Variation-Objekten ab, die einem bestimmten Besucher über alle Feature Flags zugewiesen sind. Diese Methode iteriert über alle verfügbaren Feature Flags und gibt die dem Besucher zugewiesene Variation für jedes Flag zurück. Sie nimmt visitorCode als erforderliches Argument, während onlyActive und track optional sind.
  • Wenn onlyActive auf true gesetzt ist, gibt die Methode getVariations() Feature-Flag-Variationen zurück, sofern der Benutzer nicht mit der Variation off bucketiert wurde.
  • Der Parameter track steuert, ob die Methode die Variations-Zuweisungen verfolgt. Standardmäßig ist der Wert true. Wenn er auf false gesetzt ist, wird das Tracking deaktiviert.
Die zurückgegebene Map besteht aus Feature-Flag-Schlüsseln als Schlüsseln und ihren entsprechenden Variation als Werten. Wenn keine Variation für ein Feature Flag zugewiesen ist, gibt die Methode die Standard-Variation für dieses Flag zurück. Eine ordnungsgemäße Fehlerbehandlung sollte implementiert werden, um potenzielle Ausnahmen zu verwalten.
Die Standard-Variation bezieht sich auf die Variation, die einem Besucher zugewiesen wird, wenn dieser keiner vordefinierten Lieferregel für ein Feature Flag entspricht. Mit anderen Worten ist es die Fallback-Variation, die auf alle Benutzer angewendet wird, die nicht durch spezifische Regeln targetiert werden. Sie wird als die Variation im Abschnitt “Then, for everyone else…” in einer Management-Oberfläche dargestellt.
Parameter
Ein Objekt vom Typ GetVariationsParamsType mit den folgenden Eigenschaften:
Rückgabewert
Geworfene Ausnahmen

isFeatureFlagActive()

  • 📨 Sendet Tracking-Daten an Kameleoon (abhängig vom Parameter track )
  • 🎯 Ereignisse: EventType.Evaluation
Die Methode isFeatureFlagActive(), die mit dem Hook useFeatureFlag verwendet wird, bestimmt, ob ein Besucher, der durch visitorCode identifiziert wird, das angegebene featureKey aktiv hat. Diese Methode prüft die Targeting-Bedingungen, identifiziert die Variation für den Besucher und speichert diese Informationen im Speicher. Zusätzlich sendet der Hook eine Tracking-Anfrage. Es gibt auch eine Überladung für diese Methode, die einen Parameter track enthält, mit dem Sie das Tracking der Feature-Evaluierung deaktivieren können.
Besucher muss targetiert werden, damit das Feature Flag aktiv ist
Kameleoon verwendet Tracking, um Sitzungen und Besucher zu zählen, wenn Sie bestimmte Methoden aufrufen, wie isFeatureFlagActive(), getVariation() oder getVariations().Verwenden Sie den Standardwert true für den Parameter track, wenn Sie Besucher einer Variation aussetzen und diese zählen müssen. Setzen Sie den Parameter track nur auf false, wenn Sie diese Methoden aufrufen, bevor Sie Besucher aussetzen.Wenn Sie beispielsweise getVariations() aufrufen, um alle Variationen abzurufen, bevor Sie Besucher aussetzen, setzen Sie den Parameter track auf false. Diese Einstellung verhindert, dass Kameleoon eine Sitzung vorzeitig zählt. Sie können das Tracking später auslösen, wenn Sie den Besucher explizit aussetzen.Kameleoon sendet Tracking-Daten standardmäßig jede Sekunde. Sie können dieses Intervall bis zu fünf Sekunden mit der Konfigurationsoption für das Tracking-Intervall konfigurieren. Kameleoon gruppiert Tracking-Ereignisse in eine einzelne Sitzung, solange das Intervall zwischen Ereignissen weniger als 30 Minuten beträgt. Wenn mehr als 30 Minuten zwischen Tracking-Ereignissen verstreichen, zählt Kameleoon die Ereignisse als separate Sitzungen. Ein Besuch erscheint in Ihren Berichten 30 Minuten nach dem letzten aufgezeichneten Ereignis in der Sitzung.
Die Methode isFeatureFlagActive() wertet die bereitgestellte Variante aus, nicht den Zustand des Master-Flags. Wenn Sie Regeln ausschließen, verwendet die Methode den Standard-Zustand Dann für alle anderen. Wenn Sie Off für diesen Standard-Zustand auswählen, gibt die Methode immer false zurück, auch wenn das Master-Feature-Flag On ist.
Parameter
Es gibt zwei verfügbare Überladungen für diese Methode:
  1. Two Parameter overload:
Diese Überladung ist veraltet und wird in der nächsten Hauptversion entfernt. Verwenden Sie die neue Überladung mit einem Objekt-Parameter.
  1. Objekt-Parameter-Überladung vom Typ IsFeatureFlagActiveParamsType:
Rückgabewert
Geworfene Ausnahmen

setForcedVariation()

Die Methode ermöglicht es Ihnen, eine spezifische Variation einem Benutzer programmgesteuert zuzuweisen und dabei den standardmäßigen Evaluierungsprozess zu umgehen. Dies ist besonders wertvoll für kontrollierte Experimente, bei denen die übliche Evaluierungslogik nicht erforderlich oder übersprungen werden muss. Es kann auch in Szenarien wie Debugging oder benutzerdefiniertem Testen hilfreich sein. Wenn eine erzwungene Variation festgelegt ist, setzt sie Kameleoons Echtzeit-Evaluierungslogik außer Kraft. Prozesse wie Segmentierung, Targeting-Bedingungen und algorithmische Berechnungen werden übersprungen. Um Segmentierung und Targeting-Bedingungen während eines Experiments zu bewahren, setzen Sie stattdessen forceTargeting=false.
Simulierte Variationen haben immer Vorrang in der Ausführungsreihenfolge. Wenn eine simulierte Variationsberechnung ausgelöst wird, wird sie vollständig verarbeitet und zuerst abgeschlossen.
Eine erzwungene Variation wird genauso behandelt wie eine ausgewertete Variation. Sie wird in Analysen verfolgt und im Benutzerkontext wie jede standardmäßig ausgewertete Variation gespeichert, was Konsistenz in der Berichterstattung gewährleistet. Die Methode kann unter bestimmten Bedingungen Ausnahmen werfen (beispielsweise ungültige Parameter, Benutzerkontext oder interne Probleme). Eine ordnungsgemäße Ausnahmeverarbeitung ist wichtig, um sicherzustellen, dass Ihre Anwendung stabil und widerstandsfähig bleibt.
Es ist wichtig, zwischen erzwungenen Variationen und simulierten Variationen zu unterscheiden:
  • Erzwungene Variationen: Sind spezifisch für ein einzelnes Experiment.
  • Simulierte Variationen: Beeinflussen das Gesamtergebnis des Feature Flags.
Parameter
Ein Objekt vom Typ SetForcedVariationParametersType mit den folgenden Eigenschaften:
Geworfene Ausnahmen
In den meisten Fällen muss nur der grundlegende Fehler KameleoonException behandelt werden, wie im Beispiel gezeigt. Falls jedoch verschiedene Fehlertypen eine Antwort erfordern, behandeln Sie diese einzeln basierend auf spezifischen Anforderungen. Darüber hinaus können für erhöhte Zuverlässigkeit allgemeine Sprachfehler durch Einbindung von Error behandelt werden.

evaluateAudiences()

  • 📨 Sendet Tracking-Daten an Kameleoon
Diese Methode wertet Besucher gegen alle verfügbaren Audiences Explorer Segmente aus und verfolgt diejenigen, die passen. evaluateAudiences() sollte nach dem Festlegen oder Aktualisieren aller relevanten Besucherdaten aufgerufen werden und unmittelbar vor dem Abrufen einer Feature-Variation oder dem Überprüfen eines Feature Flags. Dieser Ansatz stellt sicher, dass der Besucher gegen die aktuellsten verfügbaren Daten ausgewertet wird, was eine genaue Zielgruppenbestimmung basierend auf allen Kriterien ermöglicht. Nach dem Aufrufen dieser Methode können Sie eine detaillierte Analyse der Segment-Performance im Audiences Explorer durchführen.
Parameter
Geworfene Ausnahmen
In den meisten Fällen muss nur der grundlegende Fehler KameleoonException behandelt werden, wie im Beispiel gezeigt. Falls jedoch verschiedene Fehlertypen eine Antwort erfordern, behandeln Sie diese einzeln basierend auf spezifischen Anforderungen. Darüber hinaus können für erhöhte Zuverlässigkeit allgemeine Sprachfehler durch Einbindung von Error behandelt werden.

getDataFile()

Um alle Feature Flags auszuwerten, verwenden Sie getVariations(). Diese Methode ist effizienter als das Aufrufen von DataFile und das Durchlaufen von Flags mit getVariation().
Gibt die aktuell SDK Konfiguration as a DataFile Objekt.
Rückgabewert

Besucherdaten

Dieser Abschnitt enthält die Methoden, mit denen Sie Besucherdaten verwalten.

getVisitorCode()

getVisitorCode Methode, die aus dem Hook useVisitorCode erfasst wird, erhält einen Besucher-Code aus dem Browser-Cookie. Wenn der Besucher-Code noch nicht existiert, generiert die Funktion einen zufälligen Besucher-Code (oder verwendet den Wert defaultVisitorCode, wenn Sie einen bereitgestellt haben) und setzt den neuen Besucher-Code in einem Cookie.
Die Methode getVisitorCode() ermöglicht es Ihnen, simulierte Variationen für einen Besucher zu setzen. Wenn Cookies (aus einer Anfrage oder einem Dokument) den Schlüssel kameleoonSimulationFFData enthalten, wird der standardmäßige Evaluierungsprozess umgangen. Stattdessen gibt die Methode direkt eine Variation basierend auf den bereitgestellten Daten zurück.Sie können Simulationen auf zwei Arten anwenden:
  • Automatisch (empfohlen): Wenn Sie Kameleoon Web Experimentation verwenden oder das SDK im Hybrid-Modus, wird das Cookie automatisch erstellt, wenn Sie die Anzeige einer Variante mit dem Simulation Panel simulieren.
  • Manuell: Legen Sie den kameleoonSimulationFFData-Cookie manuell fest.
Es ist wichtig, zwischen simulierten Variationen und erzwungenen Variationen zu unterscheiden:
  • Simulierte Variationen: Beeinflussen das Gesamtergebnis des Feature Flags.
  • Erzwungene Variationen: Sind spezifisch für ein einzelnes Experiment.
⚙️ Manual setupStellen Sie sicher, dass der kameleoonSimulationFFData-Cookie diesem Format entspricht:
  • kameleoonSimulationFFData={"featureKey":{"expId":10,"varId":20}}: Simuliert die Variation mit varId des Experiments expId für den angegebenen featureKey.
  • kameleoonSimulationFFData={"featureKey":{"expId":0}}: Simuliert die Standard-Variation (definiert im Abschnitt Dann für alle anderen in Produktion) für den angegebenen featureKey.
⚠️ Um sicherzustellen, dass der Cookie-Wert korrekt funktioniert, codieren Sie ihn als URI-Komponente mithilfe einer Methode wie encodeURIComponent.
Parameter
Wenn Sie keinen defaultVisitorCode bereitstellen und es keinen Besucher-Code in einem Cookie gibt, wird der Besucher-Code zufällig generiert.
Rückgabewert
Geworfene Ausnahmen

addData()

Die Funktion addData, die mit dem Hook useData verwendet wird, erfasst Targeting-Daten, um zu speichern, damit andere Hooks bestimmen können, ob der aktuelle Besucher targetiert wird.
  • Die Funktion addData() gibt keinen Wert zurück und interagiert auf eigene Faust nicht mit Kameleoon-Backend-Servern. Stattdessen werden alle deklarierten Daten für die zukünftige Übertragung über die flush Methode gespeichert. Dieser Ansatz hilft, die Anzahl der Server-Anfragen zu reduzieren, da die Daten normalerweise in einen einzigen Server-Aufruf gruppiert werden, der durch die Ausführung von flush ausgelöst wird.
Die Methode trackConversion sendet auch alle zuvor verknüpften Daten aus, genau wie flush. Dasselbe gilt für die Methoden getFeatureFlagVariationKey und getFeatureVariable, wenn eine Experimentierregel ausgelöst wird.
  • userAgent Daten werden nicht wie andere Daten im Speicher gespeichert, und sie werden mit jeder Tracking-Anfrage zur Bot-Filterung gesendet.
  • Schauen Sie sich die Liste der unterstützten Bedingungen an, um zu wissen, welche Datentypen für Targeting verwendet werden können
Jeder Besucher kann nur eine Instanz der verknüpften Daten für die meisten Datentypen haben. Jedoch ist CustomData eine Ausnahme. Besucher können eine Instanz der verknüpften CustomData pro customDataIndex haben.
Parameter
  • kameleoonData ist ein variadisches Argument, das als ein oder mehrere Argumente übergeben werden kann (siehe das Beispiel)
  • Der Index oder die ID der benutzerdefinierten Daten können in Ihrem Kameleoon-Konto gefunden werden. Es ist wichtig zu beachten, dass dieser Index bei 0 beginnt, was bedeutet, dass die erste benutzerdefinierte Daten, die Sie für eine bestimmte Website erstellen, die ID 0 erhalten, nicht 1.
Geworfene Ausnahmen
Siehe die Datentypen Referenz für weitere Details zur Verwaltung verschiedener Datentypen.

flush()

flush() nimmt die mit dem Besucher verknüpften Kameleoon-Daten und plant, sie mit der nächsten Tracking-Anfrage zu senden. Die Zeit der nächsten Tracking-Anfrage wird durch den Parameter trackingInterval der SDK-Konfiguration definiert. Besucherdaten können mit den Methoden addData und getRemoteVisitorData hinzugefügt werden.Wenn Sie keinen visitorCode angeben, leert das SDK alle seine gespeicherten Daten auf die Remote-Kameleoon-Server. Wenn zuvor fehlgeschlagene Tracking-Anfragen während des Offline-Modus lokal gespeichert wurden, versucht das SDK, die gespeicherten Anfragen zu senden, bevor die neueste Anfrage ausgeführt wird.
Wenn Sie Tracking-Anfragen sofort senden müssen, verwenden Sie flushInstant() (die asynchrone Version von flush, die Promise<void> zurückgibt). Sie können await verwenden, wenn Sie Liefergarantien benötigen (beispielsweise vor der Seiten-Navigation/dem Entladen), oder rufen Sie es ohne await als Fire-and-Forget-Anfrage auf:
  • await flushInstant(visitorCode) sendet Tracking-Anfragen sofort für einen bestimmten Besucher und wartet auf Abschluss
  • await flushInstant() sendet Tracking-Anfragen sofort für alle Besucher und wartet auf Abschluss
Parameter
Oder ein Objekt vom Typ FlushParamsType mit den folgenden Eigenschaften:
Geworfene Ausnahmen

getRemoteData()

Asynchrone Methode getRemoteData, die mit dem Hook useData erfasst wird, gibt Daten zurück, die für den angegebenen Site-Code auf einem Remote-Kameleoon-Server gespeichert sind. Sie können diese Funktion beispielsweise verwenden, um Benutzervorlieben, historische Daten oder alle anderen Daten abzurufen, die für die Logik Ihrer Anwendung relevant sind. Durch die Speicherung dieser Daten auf Kameleoons hochskalierbaren Servern mit der [Data API] können Sie effizient riesige Datenmengen verwalten und für jeden Ihrer Besucher oder Benutzer abrufen.
Parameter
Rückgabewert
Geworfene Ausnahmen

getRemoteVisitorData()

getRemoteVisitorData() ist eine asynchrone Methode zum Abrufen von Kameleoon Visits-Daten für den visitorCode von der Kameleoon Data API. Die Methode fügt die Daten im Speicher für andere Methoden hinzu, um sie bei Targeting-Entscheidungen zu verwenden.Daten, die mit dieser Methode abgerufen werden, spielen eine wichtige Rolle, wenn Sie folgende Ziele haben:
  • Daten verwenden, die von anderen Geräten gesammelt wurden.
  • Auf den Verlauf eines Benutzers zugreifen, z. B. auf Seiten, die während früherer Besuche besucht wurden.
  • Daten verwenden, die nur auf der Client-Seite verfügbar sind, wie Datalayer-Variablen und Ziele, die nur auf dem Frontend konvertieren.
Lesen Sie diesen Artikel, um ein besseres Verständnis möglicher Anwendungsfälle zu erhalten.
Standardmäßig ruft getRemoteVisitorData() automatisch die neuesten gespeicherten benutzerdefinierten Daten mit scope=Visitor ab und fügt sie zum Besucher hinzu, ohne die Methode addData() aufrufen zu müssen. Dies ist besonders nützlich für die Synchronisierung benutzerdefinierter Daten auf mehreren Geräten.
Parameter
Ein Objekt vom Typ RemoteVisitorDataParamsType mit den folgenden Eigenschaften:
Rückgabewert
Geworfene Ausnahmen
Parameter in getRemoteVisitorData() verwenden
Die Methode getRemoteVisitorData() bietet Flexibilität, indem Sie verschiedene Parameter beim Abrufen von Daten zu Besuchern definieren können. Unabhängig davon, ob Sie basierend auf Zielen, Experimenten oder Variationen targeten, gilt der gleiche Ansatz für alle Datentypen.Beispiel: Sie möchten Daten zu Besuchern abrufen, die das Ziel “Order transaction” erreicht haben. Sie können Parameter in der Methode getRemoteVisitorData() angeben, um Ihr Targeting zu verfeinern. Wenn Sie z. B. nur Benutzer targeten möchten, die in den letzten fünf Besuchen das Ziel erreicht haben, können Sie den Parameter previousVisitAmount auf 5 und conversions auf true setzen.Die in diesem Beispiel gezeigte Flexibilität ist nicht auf Zieldaten beschränkt. Sie können Parameter in der Methode getRemoteVisitorData() verwenden, um Daten zu einer Vielzahl von Besucher-Verhaltensweisen abzurufen.
Hier ist die Liste der verfügbaren VisitorDataFiltersType-Filter:

getVisitorWarehouseAudience()

Die asynchrone Methode getVisitorWarehouseAudience wird mit dem useData-Hook gesammelt und ruft alle Zielgruppen-Daten ab, die im Datenlager mit dem Besucher verknüpft sind, und verwendet den angegebenen visitorCode und warehouseKey. Der warehouseKey ist typischerweise Ihre interne Benutzer-ID. Der Parameter customDataIndex entspricht den Kameleoon benutzerdefinierten Daten, die Kameleoon zum Targeting Ihrer Besucher verwendet. Weitere Informationen finden Sie in der Datenlager-Targeting-Dokumentation.
Parameter
Parameterobjekt bestehend aus:
Rückgabewert
Geworfene Ausnahmen

setLegalConsent()

Die Methode setLegalConsent, die mit dem useVisitorCode-Hook gesammelt wird, gibt an, ob der Besucher der rechtlichen Verwendung persönlicher Daten zugestimmt hat. Wenn Sie den Parameter legalConsent auf false setzen, wird die Art der Daten eingeschränkt, die Sie in Tracking-Anfragen einbeziehen können. Dies hilft Ihnen, gesetzliche und behördliche Anforderungen einzuhalten und Besucher-Daten verantwortungsvoll zu verwalten. Weitere Informationen zu persönlichen Daten finden Sie in der Richtlinie zur Verwaltung der Zustimmung.
  • Die Zustimmungsinformationen sind zwischen der Kameleoon Engine (App-Datei engine.js) und dem React SDK synchronisiert. Diese Synchronisierung bedeutet, dass die Zustimmung, nachdem sie in der Engine oder dem SDK festgelegt wurde, automatisch für beide festgelegt wird. Dieses Feature eliminiert die Notwendigkeit für manuelle Zustimmungsverwaltung und stellt sicher, dass SDKs in Übereinstimmung mit Benutzer-Präferenzen arbeiten.
Wenn Sie Kameleoon im Hybrid mode verwenden, lesen Sie den Zustimmungs-Abschnitt in unserem Hybrid experimentation-Artikel
  • Bei der Verwaltung rechtlicher Zustimmung ist es wichtig, die Methode getVisitorCode zu verwenden. Außerdem akzeptiert getVisitorCode domain nicht als Argument. Übergeben Sie es stattdessen an die Funktion createClient.
Parameter
Geworfene Ausnahmen
Widerrufverhalten der Zustimmung
Wenn Sie setLegalConsent() mit consent=false aufrufen, löscht das SDK den Cookie kameleoonVisitorCode nicht. Stattdessen stoppt es die Verlängerung des Cookie-Ablaufdatums, wodurch der Cookie bestehen bleibt, bis er natürlich abläuft. Wenn Ihre Compliance-Anforderungen die sofortige Entfernung der Cookie-Datei bei der Abmeldung erfordern, müssen Sie diese manuell mit den nativen Cookie-Verwaltungsmethoden Ihres Frameworks löschen. Das SDK entfernt die Datei nicht automatisch.

Ziele und Drittanbieter-Analysen

Dieser Abschnitt enthält die Methoden, die Sie verwenden, um zu verfolgen, wenn eine Besucher-Aktion eines Ihrer Ziele erreicht (eine Konversion).

trackConversion()

  • 📨 Sendet Tracking-Daten an Kameleoon
Die Funktion trackConversion(), die mit dem useData-Hook verwendet wird, erstellt Conversion-Daten und fügt sie zum Besucher mit angegebenen Parametern hinzu und führt flush() aus.Verwenden Sie diese Methode, um eine Konversion für ein bestimmtes Ziel und einen Benutzer zu verfolgen. Diese Methode erfordert visitorCode und goalId. Zusätzlich akzeptiert diese Methode auch optionale Argumente revenue, negative und metadata. Der visitorCode ist normalerweise identisch mit dem, der beim Auslösen des Experiments verwendet wurde.Die Methode trackConversion() gibt keinen Wert zurück. Diese Methode ist nicht blockierend, da der Server-Aufruf asynchron erfolgt.
Parameter
Parameterobjekt bestehend aus:
metadata-Werte sind über Raw-Data-Exporte und die Ergebnisseite verfügbar.Wenn der Parameter metadata bereitgestellt wird, wird Kameleoon diese angegebenen Werte für die aktuelle Konversion verwenden, anstatt das, was zuvor mit der Methode addData() gesammelt wurde. Wenn der Parameter weggelassen wird, wird Kameleoon die zuletzt verfolgten Werte für diese CustomData vor der Konversion und innerhalb desselben Besuchs verwenden.Kameleoon berücksichtigt nur die metadata-Werte, die explizit als Parameter an die Methode trackConversion() übergeben werden.Im Beispiel unten wird Kameleoon die Konversion nur mit dem Custom-Data-Wert verknüpfen, der explizit als Parameter bereitgestellt wird (hier: Index 5 mit dem Wert “Amex Credit Card”).
Geworfene Ausnahmen

getEngineTrackingCode()

Kameleoon ist in mehrere Analyselösungen integriert, einschließlich Mixpanel, Google Analytics 4 und Segment. Um Server-seitige Experimente korrekt zu verfolgen, rufen Sie die Methode getEngineTrackingCode() auf, nachdem der Besucher ein Experiment ausgelöst hat. Das SDK gibt JavaScript-Warteschlangen-Befehle für die Experimente zurück, die der Besucher in den letzten fünf Sekunden ausgelöst hat. Wenn Sie diesen Code in die Seite einfügen, verarbeitet Engine.js die Befehle und sendet die Exposure-Events durch die aktive Analyseintegration. Weitere Informationen zur Implementierung dieser Methode finden Sie unter Hybrid-Experimentierung.
  • Um dieses Feature zu verwenden, implementieren Sie sowohl das React SDK als auch Kameleoon Engine.js. Da Engine.js in diesem Workflow nur zum Tracking verwendet wird, können Sie das asynchrone Tag vor dem schließenden </body>-Tag installieren.
  • Sie können den zurückgegebenen Tracking-Code direkt in einen HTML <script>-Tag einfügen.
In diesem Beispiel sind 123456 und 234567 Experiment-IDs, und 7890 und 8901 sind Variations-IDs. In Ihrer Implementierung generiert das SDK diese Werte im zurückgegebenen Tracking-Code.
Parameter
Rückgabewert
Geworfene Ausnahmen

Ereignisse

Dieser Abschnitt enthält die Methoden, die Sie zum Verarbeiten von Events verwenden.

setEventHandler()

Verwenden Sie diese Methode, um einen handler für SDK-Ereignisse zu registrieren. Das SDK ruft den handler auf, wenn das ausgewählte Ereignis eintritt. Das Registrieren eines neuen handler für denselben Ereignistyp ersetzt den vorherigen handler.Wenn Sie null als handler übergeben, wird der aktuelle handler für den ausgewählten Ereignistyp entfernt.
Erfassen Sie die setEventHandler-Methode mit dem useInitialize-Hook.
Um den aktuellen handler für einen Ereignistyp zu löschen, übergeben Sie null als handler:
DataFileUpdateEventDataType enthält Informationen über eine SDK-Datendatei-Aktualisierung.
Parameter

Senden von Exposure-Ereignissen an externe Tools
Kameleoon bietet integrierte Integrationen mit verschiedenen Analyse- und CDP-Lösungen, wie Mixpanel, Google Analytics 4, Segment…. Um sicherzustellen, dass Sie Ihre Server-seitigen Experimente verfolgen und analysieren können, stellt Kameleoon eine Methode getEngineTrackingCode() bereit, die den JavaScript-Code zurückgibt, der in Ihre Seite eingefügt werden soll, um die Exposure-Ereignisse automatisch an die von Ihnen verwendete Analyselösung zu senden. Das SDK erstellt einen Tracking-Code für Ihre aktive Analyselösung basierend auf den Experimenten, die der Besucher in den letzten 5 Sekunden ausgelöst hat. Weitere Informationen zur hybriden Experimentation finden Sie in dieser Dokumentation.
Um von dieser Funktion zu profitieren, müssen Sie sowohl das React SDK als auch das Kameleoon JavaScript-Tag implementieren. Implementieren Sie das [Kameleoon asynchrone Tag], das Sie vor Ihrem schließenden <body>-Tag in Ihrer HTML-Seite installieren können, da es nur für Tracking-Zwecke verwendet wird.

Datentypen

Kameleoon Data types sind Hilfsklassen, die zum Speichern von Daten im Speicher in vordefinierten Formen verwendet werden. Während der Ausführung von flush sammelt das SDK alle Daten und sendet sie zusammen mit der Tracking-Anfrage. Daten, die im SDK verfügbar sind, stehen für Targeting und Reporting in der Kameleoon-App erst dann zur Verfügung, wenn Sie die Daten hinzufügen. Beispielsweise mithilfe der Methode addData() Methode. Weitere Informationen finden Sie unter Benutzer mit Besuchsverlauf targetieren.
Wenn Sie den Hybrid mode verwenden, können Sie getRemoteVisitorData() aufrufen, um automatisch alle Daten zu füllen, die Kameleoon zuvor gesammelt hat.

Browser

Seit React SDK 10.11.0, Browser wird automatisch basierend auf dem User-Agent -String erkannt. Bei Bedarf können Sie dies jedoch manuell überschreiben.
Browser contains Browser Informationen.
Jeder Besucher kann nur einen Browser haben. Das Hinzufügen eines zweiten Browser überschreibt den ersten.

UniqueIdentifier

UniqueIdentifier-Daten werden als Marker für die eindeutige Besucher-Identifizierung verwendet. Wenn Sie UniqueIdentifier für einen Besucher hinzufügen, wird visitorCode als eindeutiger Besucher-Identifikator verwendet, was für geräteübergreifende Experimentation nützlich ist. Das Zuordnen eines UniqueIdentifier zu einem Besucher teilt dem SDK mit, dass der Besucher mit einem anderen Besucher verknüpft ist. Der Parameter UniqueIdentifier kann auch in anderen Edge-Case-Szenarien nützlich sein, z. B. wenn Sie keinen Zugriff auf den anonymen visitorCode haben, der ursprünglich dem Besucher zugewiesen wurde, aber Sie haben Zugriff auf eine interne ID, die mit dem anonymen Besucher mithilfe von Session-Merge-Funktionen verbunden ist.
Jeder Besucher kann nur einen UniqueIdentifier haben. Das Hinzufügen eines weiteren UniqueIdentifier überschreibt den ersten.

Konversion

Der hier gespeicherte Conversion-Datensatz kann verwendet werden, um Experiment- und Personalisierungsberichte nach einem Ziel zu filtern, das damit verknüpft ist.
  • Jeder Besucher kann mehrere Conversion-Objekte haben.
  • Sie können die goalId in der Kameleoon-App finden.
ConversionParametersType conversionParameters—ein Objekt mit Konversionsparametern, die unten beschrieben sind
Cookie enthält Informationen über den Cookie, der auf dem Gerät des Besuchers gespeichert ist.
  • Im Allgemeinen versucht das React SDK, einen localStorage-Cookie für die Bedingungen zu verwenden. Falls nicht möglich, kann das SDK Cookie-Daten als Alternative verwenden.
  • Jeder Besucher kann nur einen Cookie haben. Das Hinzufügen eines zweiten Cookie überschreibt den ersten.
Methoden
Cookie-Daten haben eine statische Utility-Methode fromString, mit der Sie einen Cookie sofort erstellen können, indem Sie eine Zeichenkette analysieren, die gültige Cookie-Daten enthält. Die Methode akzeptiert string als Parameter und gibt eine initialisierte Cookie-Instanz zurück.

GeolocationData

GeolocationData enthält die Geolocation-Details des Besuchers
Jeder Besucher kann nur eine GeolocationData haben. Das Hinzufügen eines zweiten GeolocationData überschreibt den ersten.
Ein Objektparameter vom Typ GeolocationInfoType mit den folgenden Feldern:

CustomData

Um benutzerdefinierte Daten für zukünftige Besuche zu speichern, überträgt das SDK CustomData mit einem Visitor-Scope während der nächsten Tracking-Anfrage. Sie können den Scope in den Dateneinstellungen auf dem Custom-Data-Dashboard konfigurieren. CustomData ermöglicht es Ihnen, ganz einfach jede Art von Daten mit jedem Besucher zu verknüpfen. Diese Daten können dann als Targeting-Bedingung in Segmenten oder als Filter oder Aufschlüsselung in Experiment-Berichten verwendet werden. Weitere Informationen zu benutzerdefinierten Daten finden Sie in diesem Artikel.
  • Jeder Besucher darf nur ein CustomData für jeden eindeutigen index haben. Das Hinzufügen eines weiteren CustomData mit dem gleichen index ersetzt das vorhandene.
  • Der benutzerdefinierte Daten-Index finden Sie im Dashboard für benutzerdefinierte Daten in der Spalte “INDEX”.
  • Um zu verhindern, dass das SDK Daten mit dem ausgewählten Index aus Datenschutzgründen an Kameleoon-Server sendet, aktivieren Sie die Option: Diese Daten nur lokal für Targeting-Zwecke verwenden, wenn Sie benutzerdefinierte Daten erstellen.
  • Das Hinzufügen einer CustomData-Instanz, die mit einem Namen erstellt wurde, wenn die SDK-Instanz nicht initialisiert oder der Name nicht registriert ist, führt dazu, dass die Daten ignoriert werden.

Device

Seit React SDK 10.11.0, Device wird automatisch basierend auf dem User-Agent -String erkannt. Bei Bedarf können Sie dies jedoch manuell überschreiben.React Native: Die Unterstützung für dieses Feature ist derzeit experimentell und erfordert möglicherweise Anpassungen, um korrekt zu funktionieren. In React Native wird der Device automatisch basierend auf der DPI aus react-native.Dimensions erkannt.
Device enthält Informationen über Ihr Gerät.
Jeder Besucher kann nur ein Device haben. Das Hinzufügen eines zweiten Device überschreibt den ersten.

OperatingSystem

Seit React SDK 10.11.0, OperatingSystem wird automatisch basierend auf dem User-Agent -String erkannt. Bei Bedarf können Sie dies jedoch manuell überschreiben.React Native: Die Unterstützung für dieses Feature ist derzeit experimentell und erfordert möglicherweise Anpassungen, um korrekt zu funktionieren. In React Native wird der OperatingSystem automatisch basierend auf react-native.Platform erkannt.
OperatingSystem enthält die Betriebssystem-Informationen des Besuchers.
Jeder Besucher kann nur ein OperatingSystem haben. Das Hinzufügen eines zweiten OperatingSystem überschreibt das vorherige.

PageView

Seit React SDK 10.11.0 wird PageView automatisch basierend auf window.location?.href und document.title erkannt. Sie können es jedoch bei Bedarf weiterhin manuell überschreiben.React Native: Die Unterstützung für dieses Feature ist derzeit experimentell und erfordert möglicherweise Anpassungen, um korrekt zu funktionieren.
PageView enthält Informationen über Ihre Webseite.
Jeder Besucher kann ein PageView pro eindeutiger URL haben. Das Hinzufügen eines PageView mit der gleichen URL wie ein vorhandenes benachrichtigt das SDK, dass der Besucher die Seite erneut besucht hat
PageViewParametersType pageViewParameters - ein Objekt mit Seitenansichtsparametern, die unten beschrieben sind

UserAgent

Speichern Sie Informationen zum User-Agent des Besuchers. Server-seitige Experimente sind anfälliger für Bot-Traffic als Client-seitige Experimente. Um dies zu beheben, nutzt Kameleoon die IAB/ABC International Spiders and Bots List, um bekannte Bots und Spiders zu identifizieren. Kameleoon nutzt auch das Feld UserAgent, um Bots und anderen unerwünschten Traffic herauszufiltern, der andernfalls Ihre Konversionsmetriken verfälschen könnte. Weitere Details finden Sie im Hilfeartikel zum Bot-Filtering. Wenn Sie interne Bots verwenden, übergeben Sie den Wert curl/8.0 des userAgent, um diese von Ihren Analytics auszuschließen.
Ein Besucher kann nur einen UserAgent haben. Das Hinzufügen eines zweiten UserAgent überschreibt den ersten.
Server-seitige Experimente sind anfälliger für Bot-Traffic als Client-seitige Experimente. Um dies zu beheben, nutzt Kameleoon die IAB/ABC International Spiders and Bots List, um bekannte Bots und Spiders zu identifizieren. Wir empfehlen, den User-Agent zu übergeben, der von Kameleoon gefiltert werden soll, wenn Server-seitige Experimente für jeden Besucher durchgeführt werden, der Ihre Website besucht, um Bots in Ihren Analytics nicht zu berücksichtigen.Wenn Sie interne Bots verwenden, übergeben Sie den Wert curl/8.0 des userAgent, um diese von Ihren Analytics auszuschließen.

ApplicationVersion

ApplicationVersion stellt die semantische Versionsnummer Ihrer Anwendung dar.
Ein Besucher kann nur ein ApplicationVersion haben. Das Hinzufügen einer zweiten Instanz überschreibt die erste.

Rückgabetypen

DataFile

Der DataFile enthält die Details der SDK-Konfiguration. Sie kann um zusätzliche Informationen erweitert werden, falls erforderlich von Clients. Weitere Details erhalten Sie von Ihrem Customer Success Manager.

FeatureFlag

Das FeatureFlag stellt eine Reihe von Eigenschaften dar, die ein Feature Flag selbst definieren (beispielsweise dessen Variations, Rules, Umgebungsstatus und weitere zugehörige Details). Sie kann um zusätzliche Informationen erweitert werden, falls erforderlich von Clients. Weitere Details erhalten Sie von Ihrem Customer Success Manager.

Rule

Das Rule ist ein Satz von Eigenschaften, die eine Regel selbst definieren (zum Beispiel ihre Variations). Sie kann um zusätzliche Informationen erweitert werden, falls erforderlich von Clients. Weitere Details erhalten Sie von Ihrem Customer Success Manager.

Variation

Variation enthält Informationen über die dem Besucher zugewiesene Variation (oder die Standardvariation, falls keine spezifische Zuweisung vorhanden ist).
  • Stellen Sie sicher, dass Ihr Code den Fall behandelt, in dem id oder experimentId null sein kann, was auf eine Standardvariation hinweist.
  • Die variables-Zuordnung könnte leer sein, wenn keine Variablen mit der Variation verknüpft sind.

Variable

Variable enthält Informationen über eine Variable, die mit der zugewiesenen Variation verknüpft ist.

Veraltete Methoden

Diese Methoden sind veraltet und werden beim nächsten Major-Update entfernt.

isInitialized()

Verwenden Sie die isReady-Methode.
Die isInitialized-Funktion, erfasst mit dem useInitialize-Hook, ist eine kleine Utility-Methode, die überprüft, ob die SDK-Initialisierung abgeschlossen wurde. Dies kann beispielsweise hilfreich sein, wenn Sie mit einem tief verschachtelten Komponentenbaum umgehen, da Sie damit schnell die SDK-Bereitschaft überprüfen können, ohne einen globalen Status verwalten zu müssen oder das Initialisierungsergebnis mithilfe von Komponenten-Props zu übergeben.
Rückgabewert
Ein boolean-Wert. Gibt true zurück, wenn das SDK erfolgreich initialisiert wurde, andernfalls false.

getFeatureFlagVariationKey()

  • 📨 Sendet Tracking-Daten an Kameleoon
  • 🎯 Ereignisse: EventType.Evaluation
Verwenden Sie die getVariation Methode.
Die Methode getFeatureFlagVariationKey(), die mit dem Hook useFeatureFlag verwendet wird, ruft den Variations-Schlüssel für einen Besucher ab, der durch seinen visitorCode identifiziert wird. Dieser Prozess umfasst die Überprüfung der Targeting-Kriterien, die Identifizierung der entsprechenden dem Besucher zugewiesenen Variation, das Speichern dieser Informationen und das Senden einer Tracking-Anfrage.
Wenn ein Benutzer noch nie mit einem Feature Flag verknüpft wurde, gibt das SDK einen Variations-Schlüssel zufällig gemäß den Regeln dieses Feature Flags zurück. Wenn der Benutzer bereits mit dem Feature Flag verknüpft ist, identifiziert das SDK den zuvor zugewiesenen Variations-Schlüssel. Wenn der Benutzer keine der angegebenen Regeln erfüllt, gibt das SDK den in Kameleoons Feature Flag Delivery definierten Standardwert zurück. Es ist wichtig zu beachten, dass der Standardwert nicht immer ein Variations-Schlüssel sein kann; es könnte auch ein boolescher Wert oder ein anderer Datentyp sein, je nachdem, wie das Feature Flag konfiguriert ist.
Parameter
Rückgabewert
Geworfene Ausnahmen

getVisitorFeatureFlags()

  • 🚫 Sendet keine Tracking-Daten an Kameleoon
  • 🎯 Ereignisse: EventType.Evaluation (für jeden Feature Flag)
Verwenden Sie die getVariations Methode.
Die Methode getVisitorFeatureFlags, verwendet mit dem Hook useFeatureFlag, gibt eine Liste der aktiven Feature Flags zurück, die den Besucher ansprechen, der mit dem visitorCode verknüpft ist (der Besucher muss eine der zugewiesenen Variationen haben).
Diese Methode erfasst nur die Feature Flags, die derzeit aktiv für den Besucher sind. Infolgedessen schließt sie keine Feature Flags ein, für die der Besucher der Variation “off” zugewiesen ist (Standard oder Kontrolle). Wenn Sie alle Feature Flags des Besuchers abrufen müssen, verwenden Sie stattdessen getFeatureFlags.Zum Beispiel:
Für Fälle, in denen Sie alle Feature Flags des Besuchers benötigen, verwenden Sie stattdessen getFeatureFlags:
Parameter
Rückgabewert
Geworfene Ausnahmen

getActiveFeatureFlags()

  • 🚫 Sendet keine Tracking-Daten an Kameleoon
  • 🎯 Ereignisse: EventType.Evaluation (für jeden Feature Flag)
Verwenden Sie die getVariations Methode.
Die Methode getActiveFeatureFlags, erfasst mit dem Hook useFeatureFlag, gibt eine Map zurück, wobei der Schlüssel der Feature-Schlüssel ist und der Wert detaillierte Informationen über die Variation des Besuchers und deren Variablen enthält
Diese Methode erfasst nur die aktiven Feature Flags des Besuchers. Das heißt, das Ergebnis schließt alle Feature Flags aus, denen der Besucher die Variation off zugewiesen ist (Standard oder Kontrolle). Wenn Sie alle Feature Flags des Besuchers zum Iterieren benötigen, verwenden Sie stattdessen getFeatureFlags.Weitere Details finden Sie im Abschnitt WARNUNG der Methode getVisitorFeatureFlags.
Parameter
Rückgabewert
Geworfene Ausnahmen

getFeatureFlagVariable()

  • 📨 Sendet Tracking-Daten an Kameleoon
  • 🎯 Ereignisse: EventType.Evaluation
Verwenden Sie die getVariation Methode.
Die Methode getFeatureFlagVariable, erfasst mit dem Hook useFeatureFlag, gibt eine Variable für den Besucher unter visitorCode im gefundenen Feature Flag zurück. Dies umfasst die Targeting-Überprüfung, das Finden der entsprechenden Variation, die dem Besucher ausgesetzt ist, und das Speichern im Speicher zusammen mit dem Senden einer Tracking-Anfrage.
Parameter
Parameters-Objekt vom Typ GetFeatureFlagVariableParamsType, das die folgenden Felder enthält:
Rückgabewert
Geworfene Ausnahmen

getFeatureFlagVariables()

  • 📨 Sendet Tracking-Daten an Kameleoon
  • 🎯 Ereignisse: EventType.Evaluation (für jeden Feature Flag)
Verwenden Sie die getVariations Methode.
Die Methode getFeatureFlagVariables, erfasst mit dem Hook useFeatureFlag, gibt eine Liste von Variablen für den Besucher unter visitorCode im gefundenen Feature Flag zurück. Dies umfasst die Targeting-Überprüfung, das Finden der entsprechenden Variation, die dem Besucher ausgesetzt ist, und das Speichern im Speicher zusammen mit dem Senden einer Tracking-Anfrage.
Parameter
Rückgabewert
Geworfene Ausnahmen

onConfigurationUpdate()

Verwenden Sie stattdessen die Methode onEvent mit EventType.ConfigurationUpdate.
Die Methode onConfigurationUpdate, erfasst mit dem Hook useInitialize, löst einen Callback beim Update der Client-Konfiguration aus.
Dieser Hook funktioniert nur bei Server Sent Events von Echtzeit-Updates
Parameter
Geworfene Ausnahmen

getFeatureFlags()

🚫 Sendet keine Tracking-Daten an Kameleoon Die Methode getFeatureFlags, erfasst mit dem Hook useFeatureFlag, gibt eine Liste von Feature Flags zurück, die in der Client-Konfiguration gespeichert sind.
Rückgabewert
Geworfene Ausnahmen

onEvent()

Verwenden Sie stattdessen setEventHandler().
Methode onEvent, erfasst mit dem useInitialize-Hook, löst einen Rückruf aus, wenn ein bestimmtes Ereignis ausgelöst wird. Die Rückruffunktion hat Zugriff auf die dem Ereignis zugeordneten Daten. Die SDK-Methoden in dieser Dokumentation vermerken, welche Ereignistypen sie auslösen können, falls vorhanden.
Sie können jedem EventType nur einen Rückruf zuweisen.
Ereignisse
Ereignisse werden in der EventType-Enumeration definiert. Je nach Ereignistyp hat der eventData-Parameter einen anderen Typ.
Parameter
Ausgelöste Ausnahmen