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 external dependencies zu konfigurieren. Um das SDK-Installationstool zu starten, installieren und führen Sie es global aus: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 vonKameleoonClient using the createClient() Funktion, imported vom kameleoon package.
- TypeScript
- JavaScript
Umschließen der Anwendung mit dem Kameleoon Provider
Im zweiten Schritt verbinden Sie den zuvor erstellten Kameleoon Client mitKameleoonProvider indem Sie den konfigurierten Client an KameleoonProvider übergeben:
- TS
- JS
- NextJS (TS)
- NextJS (JS)
- NextJS with externals(TS)
- NextJS with externals(JS)
KameleoonProvider
Verwenden Sie diesen Provider auf der obersten Ebene, indem Sie Ihre App umschließen, um Zugriff zu erhalten aufKameleoonClient. 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 aufKameleoonClient.
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.
- TypeScript
- JavaScript
Aktivieren eines feature flags
Zuweisen einer eindeutigen ID an einen Benutzer
Um einem Benutzer eine eindeutige ID zuzuweisen, können Sie die MethodegetVisitorCode() 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 mode 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 MethodegetVariation() 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 MethodeaddData(), 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 MethodetrackConversion() 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 mode implementieren. Verwenden Sie dann die MethodegetEngineTrackingCode().
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.@kameleoon/react-native-storage- erstellt mit derreact-native-mmkv-Bibliothek@kameleoon/react-native-event-source- erstellt mit derreact-native-event-source-ts-Bibliothek@kameleoon/react-native-visitor-code-manager- aufgebaut auf derreact-native-mmkv-Bibliothek@kameleoon/react-native-platform-analyzer- erstellt mit derreact-native-Bibliothek- optional
@kameleoon/react-native-secure-prng- erstellt mit derreact-native-get-random-values-Bibliothek
- TypeScript
- JavaScript
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
accountIdverwenden. Benutzerdefinierte Bucketing-Schlüssel sind entscheidend für A/B-Tests von Features, die ein gesamtes Team oder Unternehmen betreffen.
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 alsCustomData-Objekt. Hier bezieht sichnewVisitorCodeauf den Identifikator, den Sie für Ihr Bucketing verwenden möchten (z. B. die neueuserIdoderaccountId).
- 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 diesennewVisitorCode(Ihren benutzerdefinierten Schlüssel) anstelle des Standard-visitorCode. Die Verwendung desnewVisitorCodebedeutet, 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ünglichenvisitorCodeverknü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
stringsein. - Er muss für die Entität, die Sie bucketieren möchten, eindeutig sein (z. B. wenn Sie eine
userIdverwenden, 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 use visit history to target users. Sie können auch Ihre eigenen external data to target users.Logging
Das SDK generiert Logs, die verschiedene interne Prozesse und Probleme widerspiegeln.Log-Level
Das SDK unterstützt die Begrenzung des Loggings nach Log-Level.- TypeScript
- JavaScript
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.
- TypeScript
- JavaScript
Domain-Informationen
Sie geben eine Domain alsdomain 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.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
domainim SDK-Client beim Testen nicht an. Dies verhindertlocalhost-Probleme (das Cookie wird auf jeder Domain gesetzt). - Erstellen Sie eine lokale Domain für
localhost. Zum Beispiel:- Navigieren Sie zu
/etc/hostsunter Linux oder zuc:\Windows\System32\Drivers\etc\hostsunter Windows - Öffnen Sie
hostsmit 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.comals Ihre Domain angeben
- Navigieren Sie zu
External dependencies
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.
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
- TypeScript
- JavaScript
EventSource
- TypeScript
- JavaScript
VisitorCodeManager
- TypeScript
- JavaScript
Requester
- TypeScript
- JavaScript
Pseudo Random Number Generator
Pseudo Random Number Generator (PRNG) ist eine Abhängigkeit, die eine zufällige Gleitkommazahl zwischen0 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
- TypeScript
- JavaScript
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 vordefinierteKameleoonErrors
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.
- TypeScript
- JavaScript
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 MethodegetRemoteVisitorData() 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.
- TypeScript
- JavaScript
Device One
Device Two
Verwendung von Custom Data für Session-Zusammenführung
- SDK Version 9
- SDK Version 10
Cross-Gerät experimentation allows you to combine a Besucher’s Verlauf across each derir Geräte (Verlauf Abgleich). One der powerful features that Verlauf Abgleich bietet is the ability to merge different Besucher Sitzungen into one. To reconcile visit Verlauf, you can use
CustomData verwenden, um einen eindeutigen Identifikator für den Besucher bereitzustellen.Follow the activating cross-Gerät Verlauf Abgleich guide to set up your Custom Data on the Kameleoon PlattformWenn 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ügenHier 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.- TypeScript
- JavaScript
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 KlasseKameleoonUtils class.
simulateSuccessRequest
Die MethodesimulateSuccessRequest is wird verwendet, um simulate a erfolgreich Anfrage zum Kameleoon server. It kann nützlich for custom Requester implementations when developer needs to simulate a erfolgreich Anfrage, zum Beispiel disabling tracking.
- TypeScript
- JavaScript
Argumente
Data type
SimulateRequestDataType ist wie folgt definiert:
RequestType.Tracking-nullRequestType.ClientConfiguration-ClientConfigurationDataTypeRequestType.RemoteData-JSONType
Rückgabewert
getCookieValue
Die MethodegetCookieValue 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.
- TypeScript
- JavaScript
Argumente
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.initialisieren()
- SDK Version 9
- SDK Version 10
An asynchronous
initialize Funktion, collected with useInitialize Hook, that’s wird verwendet für KameleoonClient Initialisierung by fetching Kameleoon SDK related data from server or by retrieving data from local source if data is up-to-date or aktualisieren Intervall has not been reached.-
If das SDK Konfiguration could not be retrieved but there is an older Konfiguration verfügbar in SDK Speicher, das SDK uses the older Konfiguration as a fallback and the
initializedoes not throw an Fehler. - SDK supports an offline mode.
- TypeScript
- JavaScript
Rückgabewert
Geworfene Ausnahmen
isInitialized()
TheisInitialized Funktion, collected mit dem useInitialize Hook, is a small utility Methode that checks if das SDK Initialisierung has completed. Zum Beispiel, this kann nützlich when dealing with a deeply nested Komponente tree, because it allows you to quickly check das SDK readiness without having to manage a global state, or pass the Initialisierung result using Komponente props.
- TypeScript
- JavaScript
Rückgabewert
Aboolean Wert. Returns true if SDK was successfully initialized, otherwise returns false.
createClient()
To get started, you need to create an entry point for React SDK by creating a Kameleoon Client at the top level of your Anwendung using thecreateClient() Funktion imported from kameleoon package.
An Instanz of KameleoonClient is created using createClient() Funktion.
- TypeScript
- JavaScript
Argumente
An Objekt of typeSDKParameters containing:
Konfigurationsparameter
- SDK Version 9
- SDK Version 10
Rückgabewert
Make sure not to use several client instances in one Anwendung as it is not fully unterstützt yet and may overwrite the local Speicher Konfiguration and cause unintended behavior (bugs).
Feature flags and 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)
Variation assigned to a given Besucher for a specific feature flag.
This Methode takes featureKey as a erforderlich Argument und track as an optional Argument. The track Argument is optional and defaults to true.
It gibt die assigned Variation für den Besucher. If the Besucher is not associated with any feature flag rules, the Methode gibt die Standard Variation für den given feature flag.
Ensure that proper Fehler handling is implemented in your code to manage potential Ausnahmen.
The Standard Variation refers zum Variation assigned to a Besucher when they do not match any vordefiniert delivery rules for a feature flag. In other words, it is the fallback Variation applied to all Benutzer who are not targeted by specific rules. Es ist represented as the Variation im “Then, for everyone else…” Abschnitt in a management interface.
- TypeScript
- JavaScript
Argumente
An Objekt of typeGetVariationParamsType mit dem following properties:
Rückgabewert
Geworfene Ausnahmen
getVariations()
- 📨 Sendet Tracking-Daten an Kameleoon (abhängig vom Parameter
track) - 🎯 Events:
EventType.Evaluation
Die Methode is obtained using
useFeatureFlag Hook.Variation Objekte assigned to a given Besucher across all feature flags.
This Methode iterates over all verfügbar feature flags and gibt die assigned Variation for each flag associated mit dem specified Besucher. It takes visitorCode as a erforderlich Argument, while onlyActive und track are optional.
- If
onlyActiveis set totrue, the MethodegetVariations()will return feature flags Variationen bereitgestellt the Benutzer is not bucketed mit demoffVariation. - The
trackParameter controls whether or not the Methode will track the Variation assignments. By Standard, it is set totrue. If set tofalse, the tracking wird disabled.
Variation as Werte. If no Variation is assigned for a feature flag, the Methode gibt die Standard Variation for that flag.
Proper Fehler handling sollte implemented to manage potential Ausnahmen.
The Standard Variation refers zum Variation assigned to a Besucher when they do not match any vordefiniert delivery rules for a feature flag. In other words, it is the fallback Variation applied to all Benutzer who are not targeted by specific rules. Es ist represented as the Variation im “Then, for everyone else…” Abschnitt in a management interface.
- TypeScript
- JavaScript
Argumente
An Objekt of typeGetVariationsParamsType mit dem following properties:
Rückgabewert
Geworfene Ausnahmen
isFeatureFlagActive()
- 📨 Sendet Tracking-Daten an Kameleoon (abhängig vom Parameter
track) - 🎯 Events:
EventType.Evaluation
isFeatureFlagActive(), used mit dem useFeatureFlag Hook, determines whether a Besucher identified by visitorCode has the specified featureKey active. This Methode checks the Targeting conditions, identifies the Variation für den Besucher, and saves this Informationen to Speicher. Additionally, the Hook sends a tracking Anfrage.
Es gibt also an overload for this Methode that includes a track Parameter, allowing you to disable the tracking der feature evaluation.
Visitor muss targeted to has feature flag active
Kameleoon uses tracking to count Sitzungen and Besucher when you call certain Methoden, such as
isFeatureFlagActive(), getVariation() oder getVariations().Verwenden Sie die Standard true Wert für den track Parameter when you expose Besucher to a Variation and need to count them. Set the track Parameter to false only if you callese Methoden before you expose Besucher.Zum Beispiel, if you call getVariations() to retrieve all Variationen before you expose Besucher, set the track Parameter to false. This setting prevents Kameleoon from prematurely counting a Sitzung. You can then trigger tracking later when you explicitly expose the Besucher.Kameleoon sends tracking data every second by Standard. You can configure this Intervall up to five seconds using the tracking Intervall Konfiguration option. Kameleoon groups tracking events into a single Sitzung as long as the Intervall between events is less than 30 minutes. If more than 30 minutes elapse between tracking events, Kameleoon counts the events as separate Sitzungen. A visit appears in your reports 30 minutes after the last recorded event im Sitzung.- TypeScript
- JavaScript
Argumente
Es gibt two overloads verfügbar for this Methode:- Two Parameter overload:
- Objekt Parameter overload of type
IsFeatureFlagActiveParamsType:
Rückgabewert
Geworfene Ausnahmen
setForcedVariation()
The Methode allows you to programmatically assign a specificVariation to a Benutzer, bypassing the standard evaluation process. Dies ist especially valuable for controlled Experiments where the usual evaluation logic is not erforderlich or muss skipped. It can also be helpful in scenarios like debugging or custom testing.
When a erzwungen Variation is set, it überschreibt Kameleoon’s real-time evaluation logic. Processes like Segmentierung, Targeting conditions, and algorithmic calculations are skipped. To preserve Segmentierung and Targeting conditions during an Experiment, set forceTargeting=false stattdessen.
Simulated Variationen always take precedence im execution order. If a simuliert Variation calculation is triggered, it wird fully processed and completed first.
- TypeScript
- JavaScript
Argumente
An Objekt of typeSetForcedVariationParametersType mit dem following properties:
Geworfene Ausnahmen
In most cases, only the basic Fehler,
KameleoonException, needs to be handled, as demonstrated im example. However, if different types of Fehler require a Antwort, handle each one separately based on specific requirements. Additionally, for enhanced reliability, general language Fehler kann handled by including Error.evaluateAudiences()
- 📨 Sendet Tracking-Daten an Kameleoon
evaluateAudiences() sollte called after all relevant Besucher data has been set or aktualisiert, and just before getting a feature Variation or checking a feature flag. This approach ensures that the Besucher is evaluated against the most aktuell data verfügbar, allowing for accurate Audience assignment based on all criteria.
After calling this Methode, you can perform a detailed analysis of Segment performance in Audiences Explorer.
- TypeScript
- JavaScript
Argumente
Geworfene Ausnahmen
In most cases, only the basic Fehler,
KameleoonException, needs to be handled, as demonstrated im example. However, if different types of Fehler require a Antwort, handle each one separately based on specific requirements. Additionally, for enhanced reliability, general language Fehler kann handled by including Error.getDataFile()
Gibt die aktuell SDK Konfiguration as aDataFile Objekt.
- TypeScript
- JavaScript
Rückgabewert
Besucherdaten
Dieser Abschnitt enthält die Methoden, mit denen Sie Besucherdaten verwalten.getVisitorCode()
getVisitorCode Methode collected from useVisitorCode Hook obtains a visitor code vom Browser Cookie. If the visitor code doesn’t exist yet, the Funktion generates a random visitor code (or uses the defaultVisitorCode Wert if you bereitgestellt one) and sets the new visitor code in a Cookie.
Die Methode
getVisitorCode() Methode allows you to set simuliert Variationen for a Besucher. When Cookies (from a Anfrage or document) contaim key kameleoonSimulationFFData, the standard evaluation process is bypassed. Instead, the Methode directly returns a Variation basierend auf dem bereitgestellt data.You can apply simulations in two ways:- Automatically (recommended): If using Kameleoon Web Experimentation or das SDK in Hybrid mode, the Cookie is created automatically when simulating a variant’s display using the Simulation Panel.
- Manually: Set the
kameleoonSimulationFFDataCookie manually.
- Simulated Variationen: Affect the overall feature flag result.
- Forced Variationen: Are specific to an individual Experiment.
kameleoonSimulationFFData Cookie follows this Format:kameleoonSimulationFFData={"featureKey":{"expId":10,"varId":20}}: Simulates the Variation withvarIdof ExperimentexpIdfür den givenfeatureKey.kameleoonSimulationFFData={"featureKey":{"expId":0}}: Simulates the Standard Variation (defined im Then, for everyone else in Production, serve Abschnitt) für den givenfeatureKey.
encodeURIComponent.- TypeScript
- JavaScript
Argumente
If you don’t bereitstellen a
defaultVisitorCode and there is no visitor code stored in a Cookie, the visitor code wird randomly generated.Rückgabewert
Geworfene Ausnahmen
addData()
TheaddData Funktion, used mit dem useData Hook, collects Targeting data to store for other Hooks to determine if the aktuell Besucher is targeted.
- The
addData()Funktion does not return any Wert and does not interact with Kameleoon Backend servers on its own. Instead, alle declared data is saved for future transmission via the flush Methode .This approach helps reduce the Anzahl of server calls made, as the data is typically grouped into a single server call triggered by the execution of flush.
-
userAgentdata will not be stored in Speicher like other data, and it wird sent with every tracking Anfrage for bot filtration. - Check the list of unterstützt conditions to know what data types kann wird verwendet für Targeting
- TypeScript
- JavaScript
Argumente
-
kameleoonDatais variadic Argument it kann passed as one or several Argumente (see the example) -
The index or ID der Custom Data kann found in your Kameleoon account. Es ist important to note that this index starts at
0, which means that the first Custom Data you create for a given site wird assigned0as its ID, not1.
Geworfene Ausnahmen
See the Data types reference for more details of how to manage different data types.
flush()
- SDK Version 9
- SDK Version 10
flush() takes the Kameleoon data associated mit dem Besucher and schedules the data to be sent mit dem next tracking Anfrage. The time der next tracking Anfrage is defined by SDK Konfiguration trackingInterval Parameter. Visitor data kann added using addData und getRemoteVisitorData Methoden.If you don’t specify a visitorCode, das SDK flushes all of its stored data zum remote Kameleoon servers. If any previously failed tracking Anfragen were stored locally during offline Modus, das SDK attempts to send the stored Anfragen before executing the neueste Anfrage.- TypeScript
- JavaScript
Argumente
Or an Objekt mit dem type FlushParamsType, containing:
Geworfene Ausnahmen
getRemoteData()
Asynchronous MethodegetRemoteData, collected mit dem useData Hook, returns a data stored for specified site code on a remote Kameleoon server.
Zum Beispiel, you can use this Funktion to retrieve Benutzer preferences, historical data, or any other data relevant to your Anwendung’s logic. By storing this data on our highly scalable servers using our [Data API], you can efficiently manage massive amounts of data and retrieve it for each of your Besucher or Benutzer.
- TypeScript
- JavaScript
Argumente
Rückgabewert
Geworfene Ausnahmen
getRemoteVisitorData()
- SDK Version 9
- SDK Version 10
getRemoteVisitorData() is an asynchronous Methode zum Abrufen Kameleoon Visits Data für den visitorCode vom Kameleoon Data API. The Methode adds the data to Speicher for other Methoden to use when making Targeting decisions.Data obtained using this Methode plays an important role when you want to:- use data collected from other Geräte.
- access a Benutzer’s Verlauf, such as previously visited pages during past visits.
- use data that is only accessible on the clientseitig, like datalayer Variablen and Ziele that only convert on the Frontend.
- TypeScript
- JavaScript
Argumente
An Objekt mit dem typeRemoteVisitorDataParamsType containing:Rückgabewert
Geworfene Ausnahmen
Using Parameter in getRemoteVisitorData()
Die MethodegetRemoteVisitorData() Methode offers flexibility by allowing you to define various Parameter when retrieving data on Besucher. Whether you’re Targeting based on Ziele, Experiments, or Variationen, the same approach applies across all data types.Zum Beispiel, let’s say you want to retrieve data on Besucher who completed a Ziel “Order transaction”. You can specify Parameter withim getRemoteVisitorData() Methode to refine your Targeting. For Instanz, if you want to target only Benutzer who converted on the Ziel imir last five visits, you can set the previousVisitAmount Parameter to 5 und conversions to true.The flexibility shown in this example is not limited to Ziel data. You can use Parameter withim getRemoteVisitorData() Methode to retrieve data on a variety of Besucher behaviors.Here is the list of verfügbar
VisitorDataFiltersType filters:getVisitorWarehouseData()
Asynchronous MethodegetVisitorWarehouseAudience collected with useData Hook retrieves all Audience data associated mit dem Besucher in your data warehouse using the specified visitorCode und warehouseKey. The warehouseKey is typically your intern Benutzer ID. The customDataIndex Parameter corresponds zum Kameleoon Custom Data that Kameleoon uses to target your Besucher. Refer zum warehouse Targeting documentation for additional details.
- TypeScript
- JavaScript
Argumente
Parameters Objekt consisting of:Rückgabewert
Geworfene Ausnahmen
setLegalConsent()
Die MethodesetLegalConsent, collected with useVisitorCode Hook, specifies whether the Besucher has given legal consent to use personal data. Setting the legalConsent Parameter to false limits the types of data that you can include in tracking Anfragen. This helps you adhere to legal and regulatory requirements while responsibly managing Besucher data. You can find weitere Informationen on personal data im consent management policy.
- Consent Informationen is in sync between the Kameleoon Engine (Anwendung file engine.js) and the React SDK. This Synchronisierung means that once consent is set on either the Engine or das SDK, it’s automatically set for both. This feature eliminates the need for manual consent handling and ensures that SDKs operate in compliance with Benutzer preferences.
- When handling legal consent, it’s important to use
getVisitorCodeMethode. Additionally,getVisitorCodedoes not acceptdomainas an Argument. Instead, pass it zumcreateClientFunktion.
- TypeScript
- JavaScript
Argumente
Geworfene Ausnahmen
Consent revocation behavior
When you callsetLegalConsent() with consent=false, das SDK does not delete the kameleoonVisitorCode Cookie. Instead, it stops extending the Cookie’s expiration date, allowing the Cookie to persist until it naturally expires.
If your compliance requirements demand the immediate removal der Cookie file upon opt-out, you must delete it manually using your framework’s nativ Cookie management Methoden. The SDK will not remove the file automatically.
Goals and third-party analytics
This Abschnitt bietet the Methoden you use to track when a Besucher action achieve one of you Ziele (a Konversion).trackConversion()
- SDK Version 9
- SDK Version 10
- 📨 Sendet Tracking-Daten an Kameleoon
trackConversion() Funktion, used mit dem useData Hook creates and adds Conversion data zum Besucher with specified Parameter and executes flush().Use this Methode to track a Konversion for a specific Ziel and Benutzer. This Methode requires visitorCode und goalId. In addition, this Methode also accepts an optional revenue, negative und metadata Argumente. The visitorCode is usually identical zum one that was used when triggering the Experiment.Die Methode trackConversion() Methode doesn’t return any Wert. This Methode is non-blocking as the server call is made asynchronously.- TypeScript
- JavaScript
Argumente
Parameters Objekt consisting of:metadata Werte are accessible through raw data exports und the results page.If the
metadata Parameter is bereitgestellt, Kameleoon will verwenden Sie diese specified Werte für den aktuell Konversion stattdessen of what was previously collected using the addData() Methode. If the Parameter is omitted, Kameleoon will verwenden Sie die last tracked Werte for those CustomData prior zum Konversion and withim same visit.Kameleoon will only consider the metadata Werte that are explicitly passed as Parameter zum trackConversion() Methode.In the example below, Kameleoon will associate the Konversion only mit dem Custom Data Wert explicitly bereitgestellt as a Parameter (here: index 5 mit dem Wert ‘Amex Credit Card’).- TypeScript
- JavaScript
Geworfene Ausnahmen
getEngineTrackingCode()
Kameleoon integrates with several analytics solutions, including Mixpanel, Google Analytics 4, and Segment. To track serverseitig Experiments correctly, callegetEngineTrackingCode() Methode after the Besucher triggers an Experiment. The SDK returns JavaScript queue commands für den Experiments that the Besucher triggered during the previous five seconds. When you insert this code inzum page, Engine.js processes the commands and sends the exposure events through the active analytics integration.
Refer to hybrid experimentation für weitere Informationen on implementing this Methode.
- TypeScript
- JavaScript
-
To use this feature, implement both the React SDK and Kameleoon Engine.js. Because Engine.js is used only für Tracking in this flow, you can installe asynchronous tag before the closing
</body>tag. -
You can insert the returned tracking code directly into an HTML
<script>tag.
123456 und 234567 are Experiment IDs, und 7890 und 8901 are Variation IDs. In your implementation, das SDK generates these Werte im returned tracking code.Argumente
Rückgabewert
Geworfene Ausnahmen
Events
This Abschnitt bietet the Methoden you use to handle events.- SDK Version 10
onEvent()
Die MethodeonEvent, collected mit dem useInitialize Hook, fires a Callback when a specific event is triggered. The Callback Funktion has access zum data associated mit dem event. The SDK Methoden in this documentation note which event types they can trigger, if any.- TypeScript
- JavaScript
You can only assign one Callback to each
EventType.Events
Events are defined imEventType enum. Depending on the event type, the eventData Parameter will have a different type.Argumente
Geworfene Ausnahmen
Senden von Expositionsereignissen 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 serverseitigen Experiments tracken und analysieren können, bietet Kameleoon eine MethodegetEngineTrackingCode() , die den JavaScript-Code zurückgibt, der in Ihre Seite eingefügt werden soll, um die Expositionsereignisse 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 Experiments, die der Besucher in den letzten 5 Sekunden ausgelöst hat.
Weitere Informationen zur Hybrid-Experimentation finden Sie in dieser documentation.Um von dieser Funktion zu profitieren, müssen Sie sowohl das React SDK als auch unseren Kameleoon JavaScript-Tag implementieren. Wir empfehlen, den [Kameleoon asynchronous tag] zu implementieren, den Sie vor Ihrem schließenden
<body> -Tag in Ihre HTML-Seite einfügen können, da er nur für Tracking-Zwecke verwendet wird.Data types
Kameleoon Data types sind Hilfsklassen, die zum Speichern von Daten im Speicher in vordefinierten Formen verwendet werden. During the flush execution, das SDK collects alle data and sends it along mit dem 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 MethodeaddData() Methode.
See use visit history to target users für weitere Informationen.
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.Each Besucher can only have one
Browser. Adding a second Browser overwrites the first one.- TypeScript
- JavaScript
UniqueIdentifier
UniqueIdentifier data is used as marker for eindeutig Besucher identification.
If you add UniqueIdentifier for a Besucher, visitorCode is used as the eindeutig Besucher Identifikator, which is nützlich for Cross-Gerät experimentation. Associating a UniqueIdentifier with a Besucher notify SDK that the Besucher is linked to another Besucher.
The UniqueIdentifier can also be nützlich in other edge-case scenarios, such as when you can’t access the anonymous visitorCode that was originally assigned zum Besucher, but you do have access to an intern ID that is connected zum anonymous Besucher using Sitzung Zusammenführen -Funktionen zu empfangen.
Each Besucher can only have one
UniqueIdentifier. Adding another UniqueIdentifier overwrites the first one.- TypeScript
- JavaScript
Konversion
TheConversion data set stored here kann wird verwendet, um filter Experiment and personalization reports by any Ziel associated with it.
ConversionParametersType conversionParameters - an Objekt with Konversion Parameter described below
- TypeScript
- JavaScript
Cookie
Cookie contains Informationen about the Cookie stored on the Besucher’s Gerät.
-
Generally, the React SDK will attempt to use a
localStorageCookie für den conditions. If not possible, SDK can useCookiedata as an alternative. -
Each Besucher can only have one
Cookie. Adding a secondCookieoverwrites the first one.
- TypeScript
- JavaScript
Methoden
Cookie data has a static utility Methode fromString that you can use to create a Cookie instantly by parsing a string that contains gültig Cookie data.
The Methode accepts string as Parameter and returns an initialized Cookie Instanz.
- TypeScript
- JavaScript
GeolocationData
GeolocationData contains the Besucher’s geolocation details
Each Besucher can only have one
GeolocationData. Adding a second GeolocationData overwrites the first one.GeolocationInfoType containing the following fields:
- TypeScript
- JavaScript
CustomData
To retain Custom Data for future visits, das SDK transmitsCustomData with a Visitor scope during the next tracking Anfrage. You can configure the scope im data settings on the Custom Data dashboard.
CustomData allows you to associate any type of data with each Besucher easily. This data can then be used as a Targeting condition in Segmente or as a filter or breakdown in Experiment reports.
For weitere Informationen about Custom Data, please refer to this Artikel.
-
Each Besucher is allowed only one
CustomDatafor each eindeutigindex. Adding anotherCustomDatamit dem sameindexwill replace the existing one. - The Custom Data ‘index’ kann found im Custom Data dashboard under the “INDEX” column.
- To prevent das SDK from sending data mit dem selected index to Kameleoon servers for privacy reasons, enable the option: Use this data only locally for Targeting purposes when creating Custom Data.
-
Adding a
CustomDataInstanz created with a name when das SDK Instanz is not initialized or the name is not registered, will result im data being ignored.
- TypeScript
- JavaScript
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: Support for this feature is aktuell experimental and may require adjustments to work correctly. In React Native, the Device wird automatisch basierend auf dem DPI from react-native.Dimensions.Each Besucher can only have one
Device. Adding a second Device overwrites the first one.- TypeScript
- JavaScript
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: Support for this feature is aktuell experimental and may require adjustments to work correctly. In React Native, the OperatingSystem wird automatisch basierend auf dem react-native.Platform.OperatingSystem contains the Besucher’s operating system Informationen.
Each Besucher can only have one
OperatingSystem. Adding a second OperatingSystem overwrites the previous one.- TypeScript
- JavaScript
PageView
Seit React SDK
10.11.0, PageView wird automatisch basierend auf dem window.location?.href und document.title. However, you can still manually überschreiben it falls erforderlich.React Native: Support for this feature is aktuell experimental and may require adjustments to work correctly.Each Besucher can have one
PageView per eindeutig URL. Adding a PageView mit dem same URL as an existing one will notify SDK that the Besucher revisited pagePageViewParametersType pageViewParameters - an Objekt with page view Parameter described below
- TypeScript
- JavaScript
UserAgent
Store Informationen on the Benutzer-agent der Besucher. Server-side Experiments are more vulnerable to bot traffic than clientseitig Experiments. To address this, Kameleoon uses the IAB/ABC International Spiders and Bots List to identify known bots and spiders. Kameleoon also uses theUserAgent field to filter out bots and other unwanted traffic that could otherwise skew your Konversion metrics. For more details, see the help Artikel on bot filtering.
If you use intern bots, we suggest that you pass the Wert curl/8.0 der userAgent to exclude them from our analytics.
A Besucher can only have one
UserAgent. Adding a second UserAgent overwrites the first one.- TypeScript
- JavaScript
ApplicationVersion
ApplicationVersion represents the semantic version Anzahl of your Anwendung.
- TypeScript
- JavaScript
Rückgabetypen
DataFile
TheDataFile contains das SDK Konfiguration details.
It kann extended with additional Informationen if erforderlich by clients. If you need more details, please contact your Customer Success Manager.
- TypeScript
- JavaScript
FeatureFlag
TheFeatureFlag represents a set of properties that define a feature flag itself — zum Beispiel, its Variations, Rules, Umgebung status, and other related details.
It kann extended with additional Informationen if erforderlich by clients. If you need more details, please contact your Customer Success Manager.
- TypeScript
- JavaScript
Rule
TheRule represents a set of properties that define a rule itself — zum Beispiel, its Variations.
It kann extended with additional Informationen if erforderlich by clients. If you need more details, please contact your Customer Success Manager.
- TypeScript
- JavaScript
Variation
Variation contains Informationen about the assigned Variation zum Besucher (or the Standard Variation, if no specific assignment exists).
- Ensure that your code handles the case where
idoderexperimentIdkannnull, indicating a Standard Variation. - The
variablesmap könnte empty if no Variablen are associated mit dem Variation.
- TypeScript
- JavaScript
Variable
Variable contains Informationen about a Variable associated mit dem assigned Variation.
- TypeScript
- JavaScript
Veraltete Methoden
getFeatureFlagVariationKey()
- 📨 Sendet Tracking-Daten an Kameleoon
- 🎯 Events:
EventType.Evaluation
Verwenden Sie die
getVariation Methode.getFeatureFlagVariationKey(), which is used mit dem useFeatureFlag Hook, retrieves the Variation key for a Besucher identified by their visitorCode. This process includes checking the Targeting criteria, identifying the appropriate Variation assigned zum Besucher, storing this Informationen, and sending a tracking Anfrage.
If a Benutzer has never been associated with a feature flag, das SDK will randomly return a Variation key according zum rules of that feature flag. If the Benutzer is already linked zum feature flag, das SDK will identify the previously assigned Variation key. If the Benutzer does not meet any der specified rules, das SDK will return the Standard Wert defined in Kameleoon’s feature flag delivery rules. It’s important to note that the Standard Wert may not always be a Variation key; it could also be a boolean Wert or another data type, depending on how the feature flag is configured.
- TypeScript
- JavaScript
Argumente
Rückgabewert
Geworfene Ausnahmen
getVisitorFeatureFlags()
- 🚫 Doesn’t send Tracking Data to Kameleoon
- 🎯 Events:
EventType.Evaluation(for each feature flag)
Verwenden Sie die
getVariations Methode.getVisitorFeatureFlags Methode, utilized mit dem useFeatureFlag Hook, returns a list of active feature flags that target the Besucher associated mit dem visitorCode (the Besucher must have one der allocated Variationen).
- TypeScript
- JavaScript
Argumente
Rückgabewert
Geworfene Ausnahmen
getActiveFeatureFlags()
- 🚫 Doesn’t send Tracking Data to Kameleoon
- 🎯 Events:
EventType.Evaluation(for each feature flag)
Verwenden Sie die
getVariations Methode.getActiveFeatureFlags Methode, collected mit dem useFeatureFlag Hook, returns a Map, where key is feature key and Wert is detailed Informationen about the Besucher’s Variation and it’s Variablen
- TypeScript
- JavaScript
Argumente
Rückgabewert
Geworfene Ausnahmen
getFeatureFlagVariable()
- 📨 Sendet Tracking-Daten an Kameleoon
- 🎯 Events:
EventType.Evaluation
Verwenden Sie die
getVariation Methode.getFeatureFlagVariable Methode, collected with useFeatureFlag Hook, returns a Variable für den Besucher under visitorCode im found feature flag, this includes Targeting check, finding the according Variation exposed zum Besucher and saving it to Speicher zusammen mit sending tracking Anfrage.
- TypeScript
- JavaScript
Argumente
Parameters Objekt of typeGetFeatureFlagVariableParamsType containing the following fields:
Rückgabewert
Geworfene Ausnahmen
getFeatureFlagVariables()
- 📨 Sendet Tracking-Daten an Kameleoon
- 🎯 Events:
EventType.Evaluation(for each feature flag)
Verwenden Sie die
getVariations Methode.getFeatureFlagVariables Methode, collected mit dem useFeatureFlag, Hook returns a list of Variablen für den Besucher under visitorCode im found feature flag, this includes Targeting check, finding the according Variation exposed zum Besucher and saving it to Speicher zusammen mit sending tracking Anfrage.
- TypeScript
- JavaScript
Argumente
Rückgabewert
Geworfene Ausnahmen
onConfigurationUpdate()
Verwenden Sie die
onEvent Methode with EventType.ConfigurationUpdate stattdessen.onConfigurationUpdate collected with useInitialize Hook fires a Callback on client Konfiguration aktualisieren.
This Hook only works for server sent events of real time aktualisieren
- TypeScript
- JavaScript
Argumente
Geworfene Ausnahmen
getFeatureFlags()
🚫 Doesn’t send Tracking Data to Kameleoon ThegetFeatureFlags Methode collected mit dem useFeatureFlag Hook returns a list of feature flags stored im client Konfiguration.
- TypeScript
- JavaScript