Skip to main content
Mit dem Ruby SDK können Sie Experimente ausführen und Feature Flags auf Ihrem Ruby-Backend-Server aktivieren. Die Integration unseres SDK in Ihre Webanwendung ist einfach, und sein Footprint (Speicher- und Netzwerknutzung) ist gering. Erste Schritte: Hilfe für den Einstieg finden Sie im Entwicklerhandbuch. Changelog: Aktuelle Version des Ruby SDK: 3.20.0 Changelog. SDK-Methoden: Die vollständige Referenzdokumentation des Ruby SDK finden Sie im Abschnitt Referenz.

Entwicklerhandbuch

Dieser Abschnitt zeigt Ihnen, wie Sie unser SDK integrieren und Experimente in Ihren Ruby-Anwendungen ausführen. Folgen Sie diesem Tutorial, um einen einfachen A/B-Test einzurichten, mit dem Sie die Anzahl der empfohlenen Produkte je nach Variation ändern.

Erste Schritte

Installieren des SDK

Installieren Sie das SDK mit einem Standard-Gem-Paket, das im offiziellen RubyGems-Repository gehostet wird. Führen Sie zur Installation den folgenden Befehl aus:

Konfigurieren des Clients

Sie geben die Anmeldedaten für das Ruby SDK über eine Konfigurationsdatei an, mit der Sie auch das Verhalten des SDK anpassen können. Sie können mit unserer Beispielkonfigurationsdatei beginnen. Wir empfehlen, diese Datei unter dem Standardpfad /etc/kameleoon/client-ruby.yaml abzulegen. Wenn Sie einen anderen Speicherort verwenden, müssen Sie den Pfad während der Initialisierung als Argument an die Methode Kameleoon::KameleoonClientFactory.Create() übergeben. Dies sind die verfügbaren Schlüssel im neuesten SDK:
Das Kameleoon Ruby SDK verwendet die Automation API und folgt dem OAuth 2.0 Client-Credentials-Flow.

Initialisieren des Clients

Nachdem Sie das SDK in Ihre Anwendung installiert und die korrekten Anmeldedaten konfiguriert haben (in /etc/kameleoon/client-ruby.yaml oder Kameleoon::KameleoonClientConfig), müssen Sie ein serverseitiges Experiment in der Kameleoon-App einrichten. Der nächste Schritt besteht darin, den Kameleoon-Client in Ihrem Anwendungscode zu erstellen. Der folgende Code stellt ein Beispiel für die Erstellung des Kameleoon-Clients bereit. Ein Kameleoon::KameleoonClient ist ein Singleton-Objekt, das als Brücke zwischen Ihrer Anwendung und Kameleoon fungiert. Es enthält alle Methoden und Eigenschaften, die Sie benötigen, um ein Experiment auszuführen.
Entwickler sind dafür verantwortlich, die korrekte Logik ihres Anwendungscodes bei der Implementierung von A/B-Tests mit Kameleoon sicherzustellen. Eine bewährte Praxis besteht darin, immer davon auszugehen, dass ein Besucher vom Experiment ausgeschlossen werden kann, wenn es noch nicht gestartet wurde. Diese Praxis ist einfach umzusetzen, da sie mit der Standard- oder Referenzvariation übereinstimmt, die immer vorhanden sein sollte. Die Codebeispiele im nächsten Abschnitt veranschaulichen diesen Ansatz.
Wenn Sie Ruby on Rails verwenden, empfehlen wir, den Kameleoon-Client beim Serverstart in der Datei application.rb zu initialisieren.
Sie können dann in Ihren Controllern auf den Kameleoon-Client zugreifen:

Aktivieren eines Feature Flags

Zuweisen einer eindeutigen ID zu einem Benutzer
Um einem Benutzer eine eindeutige ID zuzuweisen, können Sie die Methode get_visitor_code() verwenden. Wenn kein Visitor Code existiert (aus dem Cookie der Anfrage-Header), generiert die Methode eine zufällige eindeutige ID oder verwendet einen default_visitor_code, den Sie generiert hätten. Die ID wird dann in einem Cookie in den Antwort-Headern gesetzt. Wenn Sie Kameleoon im Hybrid-Modus verwenden, stellt der Aufruf der Methode get_visitor_code() sicher, dass die eindeutige ID (Visitor Code) zwischen der Anwendungsdatei engine.js (zuvor kameleoon.js genannt) und dem SDK geteilt wird.
Abrufen einer Flag-Konfiguration
Um ein Feature Flag in Ihrem Code zu implementieren, müssen Sie zunächst das 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 get_variation() oder feature_active?() verwenden, um die Konfiguration basierend auf dem feature_key abzurufen. Die Methode get_variation() verarbeitet sowohl einfache Feature Flags mit AN/AUS-Zuständen als auch komplexere Flags mit mehreren Variationen. Die Methode ruft die entsprechende Variation für den Benutzer ab, indem sie die Feature-Regeln überprüft, die Variation zuweist und sie basierend auf feature_key und visitor_code zurückgibt. Die Methode feature_active?() kann verwendet werden, wenn Sie die Konfiguration eines einfachen Feature Flags abrufen möchten, das nur einen AN- oder AUS-Zustand hat, im Gegensatz zu komplexeren Feature Flags mit mehreren Variationen oder Targeting-Optionen. Wenn Ihr Feature Flag zugehörige Variablen hat (z. B. bestimmte Verhaltensweisen, die mit jeder Variation verknüpft sind), ermöglicht Ihnen get_variation() auch den Zugriff auf das Variation-Objekt, das Details zur zugewiesenen Variation und ihrem zugehörigen Experiment enthält. Diese Methode prüft, ob der Benutzer angesprochen wird, findet 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, die automatisch basierend auf dem tracking_interval_millisecond des SDK ausgelöst wird. Standardmäßig ist dieses Intervall auf 1000 Millisekunden (1 Sekunde) eingestellt. Mit der Methode get_variation() können Sie steuern, ob das Tracking durchgeführt wird. Bei track=false werden keine Expositionsereignisse vom SDK gesendet. Dies ist nützlich, wenn Sie keine Daten über das SDK verfolgen möchten und stattdessen auf clientseitiges Tracking, das von der Kameleoon-Engine verwaltet wird, angewiesen sind. Darüber hinaus ist die Einstellung track=false hilfreich bei der Verwendung der Methode get_variations(), 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 das Tracking funktioniert, lesen Sie diesen Artikel.
Hinzufügen von Datenpunkten zum Targeting eines Benutzers oder zum Filtern/Aufschlüsseln von Besuchen in Berichten
Um einen Benutzer anzusprechen, stellen Sie sicher, dass Sie relevante Datenpunkte zu seinem Profil hinzugefügt haben, bevor Sie die Feature-Variation abrufen oder prüfen, ob das Flag aktiv ist. Verwenden Sie die Methode add_data(), um diese Datenpunkte zum Profil des Benutzers hinzuzufügen. Um Datenpunkte abzurufen, die auf anderen Geräten gesammelt wurden, oder um auf vergangene Benutzerdaten zuzugreifen (clientseitig gesammelt, wenn Kameleoon im Hybrid-Modus verwendet wird), nutzen Sie die Methode get_remote_visitor_data(). Diese Methode ruft Daten asynchron von den Servern ab. Es ist wichtig, get_remote_visitor_data() aufzurufen, bevor die Variation abgerufen oder geprüft wird, ob das Feature Flag aktiv ist, da diese Daten möglicherweise erforderlich sind, um einen Benutzer einer bestimmten Variation zuzuweisen. Um mehr über verfügbare Targeting-Bedingungen zu erfahren, lesen Sie den ausführlichen Artikel zum Thema. Darüber hinaus sind die Datenpunkte, die Sie dem Besucherprofil hinzufügen, bei der Analyse Ihrer Experimente verfügbar, sodass Sie Ihre Ergebnisse nach Faktoren wie Gerät und Browser filtern und aufschlüsseln können. Der Kameleoon-Hybrid-Modus sammelt automatisch eine Vielzahl von Datenpunkten auf der Clientseite, sodass Sie Ihre Ergebnisse einfach auf Basis dieser vorab gesammelten Datenpunkte aufschlüsseln können. Die vollständige Liste finden Sie hier. Wenn Sie zusätzliche Datenpunkte über das hinaus erfassen müssen, was automatisch gesammelt wird, können Sie die Custom-Data-Funktion von Kameleoon verwenden. Mit Custom Data können Sie spezifische Informationen erfassen und analysieren, die für Ihre Experimente relevant sind. Vergessen Sie nicht, die Methode flush() aufzurufen, um die gesammelten Daten zur Analyse an die Kameleoon-Server zu senden.
Um die Genauigkeit Ihrer Ergebnisse sicherzustellen, wird empfohlen, Bots mithilfe des Datentyps UserAgent herauszufiltern.
Tracking von Ziel-Konvertierungen
Wenn ein Benutzer eine gewünschte Aktion (z. B. einen Kauf) abschließt, wird dies als Konvertierung erfasst. Um Konvertierungen zu verfolgen, verwenden Sie die Methode track_conversion() und geben Sie die erforderlichen Parameter visitor_code und goal_id an. Die Anfrage zum Tracking der Konvertierung wird mit der nächsten geplanten Tracking-Anfrage gesendet, die das SDK in regelmäßigen Abständen sendet (definiert durch tracking_interval_millisecond). Wenn Sie es vorziehen, die Anfrage sofort zu senden, verwenden Sie die Methode flush() mit dem Parameter instant=true.
Senden von Ereignissen an Analyselösungen
Um Konvertierungen zu verfolgen und Expositionsereignisse an Ihre Kunden-Analyselösung zu senden, müssen Sie zunächst Kameleoon im Hybrid-Modus implementieren. Verwenden Sie dann die Methode get_engine_tracking_code(). Die Methode get_engine_tracking_code() ruft den eindeutigen Tracking-Code ab, der erforderlich ist, um Expositionsereignisse an Ihre Analyselösung zu senden. Die Verwendung dieser Methode ermöglicht es Ihnen, Ereignisse aufzuzeichnen und sie an Ihre gewünschte Analyseplattform zu senden.

Cross-Device-Experimentation

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

Synchronisieren von Custom Data zwischen Geräten

Obwohl die Synchronisierung benutzerdefinierter Zuordnungen verwendet wird, um Besucherdaten geräteübergreifend abzugleichen, ist sie nicht immer erforderlich. Im Folgenden werden zwei Szenarien beschrieben, in denen keine Synchronisierung der benutzerdefinierten Zuordnung erforderlich ist: Gleiche Benutzer-ID auf allen Geräten Wenn dieselbe Benutzer-ID konsistent auf allen Geräten verwendet wird, wird die Synchronisierung automatisch ohne Synchronisierung einer benutzerdefinierten Zuordnung gehandhabt. Es genügt, die Methode get_remote_visitor_data() 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 serverübergreifend verfügbar ist, ist die Synchronisierung zwischen Servern (mit get_remote_visitor_data()) ausreichend, ohne dass eine zusätzliche Synchronisierung der benutzerdefinierten Zuordnung erforderlich ist. Kunden, die zusätzliche Daten benötigen, können auf die Methodenbeschreibung get_remote_visitor_data() verweisen, um weitere Anleitungen zu erhalten. Im folgenden Code wird davon ausgegangen, dass derselbe eindeutige Identifikator (in diesem Fall der visitor_code, der auch als userId bezeichnet werden kann) konsistent zwischen den beiden Geräten für einen genauen Datenabruf verwendet wird.
Wenn Sie die gesammelten Daten in Echtzeit synchronisieren möchten, müssen Sie den Scope Visitor für Ihre Custom Data auswählen.
Device A
Device B

Verwenden von Custom Data zum Zusammenführen von Sitzungen

Die Cross-Device-Experimentation ermöglicht es, die Historie eines Besuchers über alle seine Geräte hinweg zu kombinieren (Historien-Abgleich). Der Historien-Abgleich ermöglicht es, verschiedene Besuchersitzungen zu einer einzigen zusammenzuführen. Um die Besuchshistorie abzugleichen, verwenden Sie CustomData, um einen eindeutigen Identifikator für den Besucher bereitzustellen. Weitere Informationen finden Sie in der entsprechenden Dokumentation. Nachdem der geräteübergreifende Abgleich aktiviert wurde, ruft der Aufruf von get_remote_visitor_data() mit dem Parameter userId alle bekannten Daten für einen bestimmten Benutzer ab. Sitzungen mit demselben Identifikator wird in einem Experiment immer dieselbe Variation angezeigt. In der Besucheransicht der Ergebnisseiten Ihres Experiments erscheinen diese Sitzungen als ein einzelner Besucher. Die SDK-Konfiguration stellt sicher, dass zugeordnete Sitzungen immer dieselbe Variation des Experiments sehen. Es gibt jedoch einige Einschränkungen hinsichtlich der geräteübergreifenden Variationszuweisung. Diese Einschränkungen sind hier beschrieben. Folgen Sie der Anleitung Aktivieren des geräteübergreifenden Historien-Abgleichs, um Ihre Custom Data auf der Kameleoon-Plattform einzurichten. Anschließend können Sie das SDK wie gewohnt verwenden. Die folgenden Methoden können im Kontext des Zusammenführens von Sitzungen hilfreich sein:
  • get_remote_visitor_data() mit hinzugefügtem UniqueIdentifier(true) – um Daten für alle verknüpften Besucher abzurufen.
  • track_conversion() oder flush() mit hinzugefügten UniqueIdentifier(true)-Daten – um bestimmte Daten für einen Besucher zu verfolgen, der einem anderen Besucher zugeordnet ist.
Da die Custom Data, die Sie als Identifikator verwenden, auf Visitor-Scope gesetzt sein müssen, müssen Sie die geräteübergreifende Synchronisierung von Custom Data verwenden, um den Identifikator mit der Methode get_remote_visitor_data() auf jedem Gerät abzurufen.
Hier ist ein Beispiel für die Verwendung von Custom Data zum Zusammenführen von Sitzungen.
In diesem Beispiel verfügt die Anwendung über eine Anmeldeseite. Da die Benutzer-ID zum Zeitpunkt der Anmeldung unbekannt ist, wird ein anonymer Besucher-Identifikator verwendet, der mit der Methode get_visitor_code() generiert wurde. Nach der Anmeldung des Benutzers wird der anonyme Besucher mit der Benutzer-ID verknüpft und als eindeutiger Identifikator für den Besucher verwendet.

Verwenden eines benutzerdefinierten Bucketing-Schlüssels

Standardmäßig verwendet Kameleoon eine eindeutige, anonyme Besucher-ID (visitor_code), um Benutzer den Variationen von Feature Flags zuzuweisen. Diese ID wird normalerweise auf dem Gerät des Benutzers generiert und gespeichert (in einem Browser-Cookie für client- und serverseitige SDKs – im persistenten 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. Die Option Custom Bucketing Key ermöglicht es Ihnen, dieses Standardverhalten zu überschreiben, indem Sie Ihren eigenen benutzerdefinierten Identifikator für das Bucketing bereitstellen. Dieses Überschreiben stellt sicher, dass die Zuweisungslogik von Kameleoon Ihren angegebenen Schlüssel anstelle des standardmäßigen visitor_code verwendet.

Anwendungsfälle

Die Verwendung eines benutzerdefinierten Bucketing-Schlüssels ist unerlässlich, um Konsistenz und Genauigkeit in Ihren Feature-Flag-Zuweisungen zu gewährleisten, insbesondere in folgenden Situationen:
  • Experimente 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 accountId verwenden. Benutzerdefinierte Bucketing-Schlüssel sind entscheidend für A/B-Tests von Funktionen, die ein gesamtes Team oder Unternehmen betreffen.
Durch die Implementierung eines benutzerdefinierten Bucketing-Schlüssels stellen Sie eine größere Konsistenz und Genauigkeit Ihrer Experimente sicher, was zu zuverlässigeren Ergebnissen und einer besseren Benutzererfahrung führt.

Technische Details

Wenn Sie einen benutzerdefinierten Bucketing-Schlüssel für ein Feature Flag konfigurieren, stellen Sie Kameleoon einen bestimmten Identifikator aus den Daten Ihrer Anwendung zur Verfügung:
  • Bereitstellung des benutzerdefinierten Schlüssels: Sie übergeben Ihren benutzerdefinierten Identifikator an das Kameleoon SDK über die Methode add_data(). 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 ordnungsgemäß funktioniert, muss er auch für das Feature Flag während der Erstellung oder Bearbeitung des Flags 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 add_data() bereitgestellt wird, verwenden alle Hash-Berechnungen zur Zuweisung von Benutzern zu Variationen diesen newVisitorCode (Ihren benutzerdefinierten Schlüssel) anstelle des standardmäßigen visitor_code. Die Verwendung von 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 Analytics: Es ist wichtig zu beachten, dass, während newVisitorCode (Ihr benutzerdefinierter Schlüssel) für Bucketing-Entscheidungen verwendet wird, alle nachfolgenden Daten (z. B. Tracking-Ereignisse und Konvertierungen) gesendet und dem ursprünglichen visitor_code zugeordnet werden. Diese Trennung stellt sicher, dass Ihre Analytics einzelne Benutzerverläufe und Interaktionen im breiteren Kontext Ihres Experiments genau widerspiegeln, auch wenn das Bucketing auf einer höheren Ebene (z. B. einem Konto) oder über mehrere Geräte/Sitzungen hinweg durchgeführt wird. Ihre ursprünglichen Besucherdaten bleiben für eine umfassende Berichterstattung intakt.

Technische Anforderungen

Um einen benutzerdefinierten Bucketing-Schlüssel effektiv zu verwenden:
  • Der Schlüssel muss ein String sein.
  • Er muss eindeutig für die Entität sein, die Sie bucketen möchten (z. B. wenn Sie eine userId verwenden, sollte die ID jedes Benutzers eindeutig sein).
  • Der Schlüssel muss dem SDK genau zum Zeitpunkt der Auswertung der Feature-Flag-Entscheidung für diesen Benutzer oder diese Anfrage zur Verfügung stehen.

Targeting-Bedingungen

Die Kameleoon-SDKs unterstützen eine Vielzahl vordefinierter Targeting-Bedingungen, die Sie verwenden können, um Benutzer in Ihren Kampagnen anzusprechen. Eine Liste der Bedingungen, die dieses SDK unterstützt, finden Sie unter Besuchshistorie zum Targeting von Benutzern verwenden. Sie können auch Ihre eigenen externen Daten zum Targeting von Benutzern verwenden.

Protokollierung

Das SDK generiert Protokolle, um verschiedene interne Prozesse und Probleme widerzuspiegeln.

Protokollebenen

Das SDK unterstützt das Konfigurieren der Begrenzung der Protokollierung anhand einer Protokollebene.

Benutzerdefinierte Behandlung von Protokollen

Das SDK schreibt seine Protokolle standardmäßig in die Konsolenausgabe. Dieses Verhalten kann überschrieben werden.
Die Begrenzung der Protokollierung anhand einer Protokollebene wird unabhängig von der Logik der Protokollbehandlung durchgeführt.

Referenz

Dies ist eine vollständige Referenzdokumentation des Ruby SDK.

Initialisierung

create()

Der Ausgangspunkt für die Verwendung des SDK ist der Initialisierungsschritt. Alle Interaktionen mit dem SDK erfolgen über ein Objekt namens Kameleoon::KameleoonClient. Daher müssen Sie dieses Objekt erstellen.
Argumente
Ausgelöste Ausnahmen

wait_init()

wait_init wartet auf die Initialisierung des Kameleoon-Clients. Mit dieser Methode können Sie überprüfen, ob der Client erfolgreich initialisiert wurde, bevor Sie mit anderen Operationen fortfahren. Sobald der Client initialisiert wurde, gibt wait_init sofort zurück. Wenn das anfängliche Abrufen der Konfiguration fehlschlägt, versucht der Client es im Hintergrund weiter, sodass wait_init zurückkehrt, sobald ein Abruf erfolgreich ist. Die Wartezeit ist immer durch ein Timeout begrenzt und blockiert daher nie unbegrenzt: Wenn das Timeout abläuft, bevor die Konfiguration geladen wurde, gibt wait_init false zurück.
Argumente
Rückgabewert

Feature Flags und Variationen

feature_active?()

  • 📨 Sendet Tracking-Daten an Kameleoon (abhängig vom Parameter track)
Zuvor activate_feature genannt – seit SDK-Version 3.0.0 entfernt.
Diese Methode nimmt einen visitor_code und feature_key als obligatorische Argumente entgegen, um zu prüfen, ob das angegebene Feature für einen Benutzer aktiv ist. Wenn ein solcher Benutzer noch nie diesem Feature Flag zugeordnet war, gibt das SDK zufällig einen booleschen Wert zurück (true, wenn der Benutzer dieses Feature haben sollte, oder false, wenn nicht). Wenn ein Benutzer mit einem bestimmten visitor_code bereits bei diesem Feature Flag registriert ist, erkennt es den vorherigen FeatureFlag-Wert. Sie müssen sicherstellen, dass in Ihrem Code eine geeignete Fehlerbehandlung eingerichtet ist, wie im Beispiel rechts gezeigt, um potenzielle Ausnahmen abzufangen. Wenn Sie einen visitor_code angeben, verwendet die Methode feature_active? den visitor_code als eindeutigen Besucher-Identifikator, was für Cross-Device-Experimentation nützlich ist. Wenn Sie einen visitor_code angeben und den Parameter is_unique_identifier auf true setzen, verknüpft das SDK die geflushten Daten mit dem Besucher, der dem angegebenen Identifikator zugeordnet ist.
Der Parameter is_unique_identifier ist veraltet. Bitte verwenden Sie stattdessen UniqueIdentifier.is_unique_identifier kann auch in anderen Sonderfällen nützlich sein, z. B. wenn Sie nicht auf den anonymen visitorCode zugreifen können, der dem Besucher ursprünglich zugewiesen wurde, aber Zugriff auf eine interne ID haben, die über die Funktionen zum Zusammenführen von Sitzungen mit dem anonymen Besucher verbunden ist.
Die Methode feature_active?() wertet die bereitgestellte Variante aus, nicht den Status des Master-Flags. Wenn Sie Regeln ausschließen, verwendet die Methode den Standardzustand Then, for everyone else serve. Wenn Sie für diesen Standardzustand Off auswählen, gibt die Methode immer false zurück, selbst wenn das Master-Feature-Flag On ist.
Argumente
Rückgabewert
Ausgelöste Ausnahmen

get_variation()

  • 📨 Sendet Tracking-Daten an Kameleoon (abhängig vom Parameter track)
Ruft die einem bestimmten Besucher zugewiesene Variation für ein bestimmtes Feature Flag ab. Diese Methode nimmt einen visitor_code und feature_key als obligatorische Argumente entgegen. Das Argument track ist optional und standardmäßig auf true gesetzt. Sie gibt die zugewiesene Variation für den Besucher zurück. Wenn der Besucher keinen Feature-Flag-Regeln zugeordnet ist, gibt die Methode die Standard-Variation für das angegebene Feature Flag zurück. Stellen Sie sicher, dass in Ihrem Code eine geeignete Fehlerbehandlung implementiert ist, um potenzielle Ausnahmen zu verwalten.
Die Standardvariation bezieht sich auf die Variation, die einem Besucher zugewiesen wird, wenn er keiner der vordefinierten Auslieferungsregeln für ein Feature Flag entspricht. Mit anderen Worten, es ist die Fallback-Variation, die auf alle Benutzer angewendet wird, die nicht durch spezifische Regeln angesprochen werden. Sie wird als Variation im Abschnitt “Then, for everyone else…” in einer Verwaltungsoberfläche dargestellt.
Argumente
Rückgabewert
Ausgelöste Ausnahmen

get_variations()

  • 📨 Sendet Tracking-Daten an Kameleoon (abhängig vom Parameter track)
Ruft eine Zuordnung von Variation-Objekten ab, die einem bestimmten Besucher über alle Feature Flags hinweg zugewiesen sind. Diese Methode iteriert über alle verfügbaren Feature Flags und gibt die zugewiesene Variation für jedes mit dem angegebenen Besucher verknüpfte Flag zurück. Sie nimmt visitor_code als obligatorisches Argument entgegen, während only_active und track optional sind.
  • Wenn only_active auf true gesetzt ist, gibt die Methode get_variations() die Variationen der Feature Flags zurück, sofern der Benutzer nicht der off-Variation zugeordnet ist.
  • Der Parameter track steuert, ob die Methode die Variationszuweisungen verfolgt. Standardmäßig ist er auf true gesetzt. 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 Variations als Werten. Wenn für ein Feature Flag keine Variation zugewiesen ist, gibt die Methode die Standard-Variation für dieses Flag zurück. Eine geeignete Fehlerbehandlung sollte implementiert sein, um potenzielle Ausnahmen zu verwalten.
Die Standardvariation bezieht sich auf die Variation, die einem Besucher zugewiesen wird, wenn er keiner der vordefinierten Auslieferungsregeln für ein Feature Flag entspricht. Mit anderen Worten, es ist die Fallback-Variation, die auf alle Benutzer angewendet wird, die nicht durch spezifische Regeln angesprochen werden. Sie wird als Variation im Abschnitt “Then, for everyone else…” in einer Verwaltungsoberfläche dargestellt.
Argumente
Rückgabewert
Ausgelöste Ausnahmen

set_forced_variation()

Mit dieser Methode können Sie einem Benutzer programmgesteuert eine bestimmte Variation zuweisen und so den Standardauswertungsprozess umgehen. Dies ist besonders wertvoll für kontrollierte Experimente, bei denen die übliche Auswertungslogik nicht erforderlich ist oder übersprungen werden muss. Es kann auch in Szenarien wie Debugging oder benutzerdefinierten Tests hilfreich sein. Wenn eine erzwungene Variation gesetzt wird, überschreibt sie die Echtzeit-Auswertungslogik von Kameleoon. Prozesse wie Segmentierung, Targeting-Bedingungen und algorithmische Berechnungen werden übersprungen. Um Segmentierung und Targeting-Bedingungen während eines Experiments beizubehalten, setzen Sie stattdessen force_targeting=false.
Simulierte Variationen haben in der Ausführungsreihenfolge immer Vorrang. Wenn eine Berechnung einer simulierten Variation ausgelöst wird, wird sie zuerst vollständig verarbeitet und abgeschlossen.
Eine erzwungene Variation wird genauso behandelt wie eine ausgewertete Variation. Sie wird in Analytics verfolgt und im Benutzerkontext wie jede standardmäßig ausgewertete Variation gespeichert, was die Konsistenz in der Berichterstattung gewährleistet. Die Methode kann unter bestimmten Bedingungen Ausnahmen auslösen (z. B. ungültige Parameter, Benutzerkontext oder interne Probleme). Eine geeignete Ausnahmebehandlung ist unerlässlich, um sicherzustellen, dass Ihre Anwendung stabil und widerstandsfähig bleibt.
Es ist wichtig, erzwungene Variationen von simulierten Variationen zu unterscheiden:
  • Erzwungene Variationen: Sind spezifisch für ein einzelnes Experiment.
  • Simulierte Variationen: Beeinflussen das gesamte Ergebnis des Feature Flags.
Argumente
Ausgelöste Ausnahmen
In den meisten Fällen muss nur der grundlegende Fehler KameleoonError behandelt werden, wie im Beispiel gezeigt. Wenn jedoch verschiedene Fehlertypen eine Reaktion erfordern, behandeln Sie jeden basierend auf spezifischen Anforderungen separat. Zusätzlich können für erhöhte Zuverlässigkeit allgemeine Sprachfehler durch Einbeziehung von StandardError behandelt werden.

evaluate_audiences()

  • 📨 Sendet Tracking-Daten an Kameleoon
Diese Methode wertet Besucher anhand aller verfügbaren Audiences-Explorer-Segmente aus und verfolgt diejenigen, die übereinstimmen. evaluate_audiences() sollte nach dem Setzen oder Aktualisieren aller relevanten Besucherdaten und kurz vor dem Abrufen einer Feature-Variation oder dem Prüfen eines Feature Flags aufgerufen werden. Dieser Ansatz stellt sicher, dass der Besucher anhand der aktuellsten verfügbaren Daten ausgewertet wird, was eine genaue Zuordnung zur Zielgruppe basierend auf allen Kriterien ermöglicht. Nach dem Aufruf dieser Methode können Sie eine detaillierte Analyse der Segmentleistung im Audiences Explorer durchführen.
Argumente
Ausgelöste Ausnahmen
In den meisten Fällen muss nur der grundlegende Fehler KameleoonError behandelt werden, wie im Beispiel gezeigt. Wenn jedoch verschiedene Fehlertypen eine Reaktion erfordern, behandeln Sie jeden basierend auf spezifischen Anforderungen separat. Zusätzlich können für erhöhte Zuverlässigkeit allgemeine Sprachfehler durch Einbeziehung von StandardError behandelt werden.

get_data_file()

Um alle Feature Flags auszuwerten, verwenden Sie get_variations(). Diese Methode ist effizienter als das Aufrufen von DataFile und das Iterieren durch Flags mit get_variation().
Gibt die aktuelle SDK-Konfiguration als DataFile-Objekt zurück.
Rückgabewert

Besucherdaten

get_visitor_code()

Zuvor obtain_visitor_code genannt – seit SDK-Version 3.0.0 entfernt.
Rufen Sie die Hilfsmethode get_visitor_code auf, um den Kameleoon-visitor_code für den aktuellen Besucher zu erhalten. Diese Methode ist wichtig, wenn Sie Kameleoon in einer gemischten Frontend- und Backend-Umgebung verwenden, in der die Genauigkeit der Benutzeridentifikation gewährleistet sein muss. Die Implementierungslogik ist wie folgt:
  1. Suchen Sie nach einem kameleoonVisitorCode-Cookie oder Query-Parameter, der mit der aktuellen HTTP-Anfrage verknüpft ist. Wenn gefunden, verwenden Sie diesen als Besucher-Identifikator.
  2. Wenn kein Cookie oder Parameter gefunden wird, prüfen Sie das Argument default_visitor_code. Wenn gefunden, verwenden Sie dieses als Identifikator. default_visitor_code_ ermöglicht es unseren Kunden, ihre eigenen Identifikatoren als Visitor Codes zu verwenden, falls sie dies wünschen, was den zusätzlichen Vorteil haben kann, Kameleoon-Besucher mit ihren eigenen Benutzern abzugleichen, ohne dass zusätzliche Lookups in einer Zuordnungstabelle erforderlich sind.
  3. Wenn weder Cookie, Parameter noch Argument gefunden wird, generieren Sie zufällig einen eindeutigen Identifikator.
In allen Fällen wird das serverseitige kameleoonVisitorCode-Cookie (über den HTTP-Header) mit dem Wert gesetzt. Bei späteren Besuchen ist der von Ihnen gesetzte Identifikator der von der Methode zurückgegebene Wert. Weitere Informationen finden Sie in diesem Artikel.
Wenn Sie Ihren eigenen visitor_code bereitstellen, müssen Sie dessen Eindeutigkeit garantieren – das SDK kann sie nicht prüfen. Beachten Sie außerdem, dass die Länge des visitor_code auf 255 Zeichen begrenzt ist. Überschüssige Zeichen lösen eine Ausnahme aus.
Mit der Methode get_visitor_code() können Sie simulierte Variationen für einen Besucher festlegen. Wenn Cookies (aus einer request oder einem document) den Schlüssel kameleoonSimulationFFData enthalten, wird der Standardauswertungsprozess 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): Bei Verwendung von Kameleoon Web Experimentation oder dem SDK im Hybrid-Modus wird das Cookie automatisch erstellt, wenn die Anzeige einer Variante über das Simulation Panel simuliert wird.
  • Manuell: Setzen Sie das Cookie kameleoonSimulationFFData manuell.
Es ist wichtig, simulierte Variationen von erzwungenen Variationen zu unterscheiden:
  • Simulierte Variationen: Beeinflussen das gesamte Ergebnis des Feature Flags.
  • Erzwungene Variationen: Sind spezifisch für ein einzelnes Experiment.
⚙️ Manuelle EinrichtungBitte stellen Sie sicher, dass das Cookie kameleoonSimulationFFData diesem Format folgt:
  • 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 Standardvariation (definiert im Abschnitt Then, for everyone else in Production, serve) für den angegebenen featureKey.
⚠️ Um die ordnungsgemäße Funktionalität sicherzustellen, muss der Cookie-Wert als URI-Komponente mit einer Methode wie encodeURIComponent codiert werden.
Argumente
Rückgabewert

add_data()

Die Methode add_data() fügt dem Speicher Targeting-Daten hinzu, sodass andere Methoden die Daten verwenden können, um zu entscheiden, ob der aktuelle Besucher angesprochen werden soll oder nicht. Die Methode add_data() gibt keinen Wert zurück und interagiert nicht selbst mit den Kameleoon-Backend-Servern. Stattdessen werden alle deklarierten Daten für die zukünftige Übertragung mit der Methode flush() gespeichert. Dieser Ansatz reduziert die Anzahl der Serveraufrufe, da die Daten typischerweise zu einem einzigen Serveraufruf zusammengefasst werden, der durch flush() ausgelöst wird. Die Methode track_conversion() sendet ebenfalls alle zuvor zugeordneten Daten aus, genau wie flush(). Dasselbe gilt für die Methoden get_variation() und get_variations(), wenn eine Experimentregel ausgelöst wird.
Jeder Besucher kann für die meisten Datentypen nur eine Instanz zugeordneter Daten haben. CustomData ist jedoch eine Ausnahme. Besucher können pro Index eine Instanz zugeordneter CustomData haben.
Argumente
Ausnahmen

flush()

  • 📨 Sendet Tracking-Daten an Kameleoon
flush() nimmt die mit dem Besucher verknüpften Kameleoon-Daten sowie alle Daten, die zuvor mit der Methode add_data hinzugefügt wurden und beim Aufrufen einer dieser Methoden noch nicht gesendet wurden, und sendet eine Tracking-Anfrage. flush() ist nicht-blockierend, da der Serveraufruf asynchron erfolgt. flush() ermöglicht es Ihnen zu steuern, wann die mit einem bestimmten visitor_code verknüpften Daten an unsere Server gesendet werden. Wenn Sie beispielsweise add_data() ein Dutzend Mal aufrufen, wäre es ineffizient, die Daten bei jedem Aufruf von add_data() an den Server zu senden. Sie müssen daher flush() nur einmal am Ende aufrufen. Wenn Sie einen visitor_code angeben, verwendet die Methode flush() ihn als eindeutigen Besucher-Identifikator, was für Cross-Device-Experimentation nützlich ist. Wenn Sie einen visitor_code angeben und den Parameter is_unique_identifier auf true setzen, verknüpft das SDK die geflushten Daten mit dem Besucher, der dem angegebenen Identifikator zugeordnet ist.
Der Parameter is_unique_identifier ist veraltet. Bitte verwenden Sie stattdessen UniqueIdentifier.is_unique_identifier kann auch in anderen Sonderfällen nützlich sein, z. B. wenn Sie nicht auf den anonymen visitorCode zugreifen können, der dem Besucher ursprünglich zugewiesen wurde, aber Zugriff auf eine interne ID haben, die über die Funktionen zum Zusammenführen von Sitzungen mit dem anonymen Besucher verbunden ist.
Argumente

get_remote_data()

Zuvor benannt: retrieve_data_from_remote_source – seit SDK-Version 3.0.0 entfernt.
Die Methode get_remote_data() ermöglicht es Ihnen, Daten (gemäß einem als Argument übergebenen key) für einen angegebenen siteCode (in Kameleoon::KameleoonClientFactory.create() angegeben) abzurufen, die auf einem Kameleoon-Remote-Server gespeichert sind. Üblicherweise werden Daten mithilfe unserer Data API auf unseren Remote-Servern gespeichert. Diese Methode bietet zusammen mit der Verfügbarkeit unserer hoch skalierbaren Server für diesen Zweck eine bequeme Möglichkeit, große Datenmengen zu speichern, die für jeden Ihrer Besucher/Benutzer abgerufen werden können.
Argumente
Rückgabewert
Ausgelöste Ausnahmen

get_remote_visitor_data()

get_remote_visitor_data() ist eine asynchrone Methode zum Abrufen von Kameleoon-Besuchsdaten für den visitor_code aus der Kameleoon Data API. Die Methode speichert Daten, die andere Methoden bei Targeting-Entscheidungen verwenden können. Mit dieser Methode abgerufene Daten spielen eine wichtige Rolle, wenn Sie:
  • von anderen Geräten gesammelte Daten verwenden möchten.
  • auf die Historie eines Benutzers zugreifen möchten, z. B. zuvor besuchte Seiten während früherer Besuche.
  • Daten verwenden möchten, die nur auf der Clientseite zugänglich sind, wie Datalayer-Variablen und Ziele, die nur im Frontend konvertieren.
Lesen Sie diesen Artikel für ein besseres Verständnis möglicher Anwendungsfälle.
Standardmäßig ruft get_remote_visitor_data() automatisch die zuletzt gespeicherten Custom Data mit scope=Visitor ab und fügt sie dem Besucher hinzu, ohne dass die Methode add_data() aufgerufen werden muss. Dies ist besonders nützlich für die Synchronisierung von Custom Data zwischen mehreren Geräten.
Der Parameter is_unique_identifier ist veraltet. Bitte verwenden Sie stattdessen UniqueIdentifier.is_unique_identifier kann auch in anderen Sonderfällen nützlich sein, z. B. wenn Sie nicht auf den anonymen visitorCode zugreifen können, der dem Besucher ursprünglich zugewiesen wurde, aber Zugriff auf eine interne ID haben, die über die Funktionen zum Zusammenführen von Sitzungen mit dem anonymen Besucher verbunden ist.
Argumente
Rückgabewert
Verwenden von Parametern in get_remote_visitor_data()
Die Methode get_remote_visitor_data() bietet Flexibilität, indem sie es Ihnen ermöglicht, verschiedene Parameter beim Abrufen von Besucherdaten zu definieren. Egal, ob Sie auf Basis von Zielen, Experimenten oder Variationen targeten, derselbe Ansatz gilt für alle Datentypen. Angenommen, Sie möchten Daten zu Besuchern abrufen, die ein Ziel “Order transaction” abgeschlossen haben. Sie können Parameter innerhalb der Methode get_remote_visitor_data() angeben, um Ihr Targeting zu verfeinern. Wenn Sie beispielsweise nur Benutzer ansprechen möchten, die in ihren letzten fünf Besuchen das Ziel konvertiert haben, können Sie den Parameter previous_visit_amount auf 5 und conversions auf true setzen. Die in diesem Beispiel gezeigte Flexibilität ist nicht auf Zieldaten beschränkt. Sie können Parameter innerhalb der Methode get_remote_visitor_data() verwenden, um Daten zu einer Vielzahl von Besucherverhalten abzurufen.
Hier ist die Liste der verfügbaren Kameleoon::Types::RemoteVisitorDataFilter-Optionen:

get_visitor_warehouse_audience()

Ruft alle Audience-Daten ab, die dem Besucher in Ihrem Data Warehouse zugeordnet sind, unter Verwendung des angegebenen visitor_code und warehouse_key. Der warehouse_key ist typischerweise Ihre interne Benutzer-ID. Der Parameter custom_data_index entspricht dem Kameleoon-Custom-Data, das Kameleoon verwendet, um Ihre Besucher anzusprechen. Weitere Details finden Sie in der Warehouse-Targeting-Dokumentation. Die Methode gibt ein CustomData-Objekt zurück, das bestätigt, dass die Daten dem Besucher hinzugefügt wurden und für Targeting-Zwecke verfügbar sind.
Argumente
Rückgabewert
Ausgelöste Ausnahmen
Sie müssen diese Methode verwenden, um anzugeben, ob der Besucher seine rechtliche Einwilligung zur Verwendung personenbezogener Daten gegeben hat. Wenn Sie den Parameter consent auf false setzen, werden die Arten von Daten begrenzt, die Sie in Tracking-Anfragen einbeziehen können. Diese Methode hilft Ihnen, gesetzliche und regulatorische Anforderungen einzuhalten und gleichzeitig die Besucherdaten verantwortungsvoll zu verwalten. Weitere Informationen zu personenbezogenen Daten finden Sie in der Richtlinie zur Einwilligungsverwaltung.
Argumente
Ausgelöste Ausnahmen
Verhalten bei Widerruf der Einwilligung
Wenn Sie set_legal_consent() mit consent=false aufrufen, löscht das SDK das kameleoonVisitorCode-Cookie nicht. Stattdessen verlängert es das Ablaufdatum des Cookies nicht mehr, sodass das Cookie bis zu seinem natürlichen Ablauf bestehen bleibt. Wenn Ihre Compliance-Anforderungen die sofortige Entfernung der Cookie-Datei bei einem Opt-out verlangen, müssen Sie sie manuell mit den nativen Cookie-Verwaltungsmethoden Ihres Frameworks löschen. Das SDK entfernt die Datei nicht automatisch.

Ziele und Drittanbieter-Analytics

track_conversion()

  • 📨 Sendet Tracking-Daten an Kameleoon
Verwenden Sie diese Methode, um eine Konvertierung für ein bestimmtes Ziel und Benutzer zu verfolgen. Diese Methode erfordert visitor_code und goal_id. Darüber hinaus akzeptiert diese Methode auch optionale Argumente revenue, negative und metadata. Der visitor_code ist normalerweise identisch mit dem, der beim Auslösen des Experiments verwendet wurde. Die Methode track_conversion() gibt keinen Wert zurück. Diese Methode ist nicht-blockierend, da der Serveraufruf asynchron erfolgt.
Der Parameter isUniqueIdentifier ist veraltet. Bitte verwenden Sie stattdessen UniqueIdentifier.isUniqueIdentifier kann auch in anderen Sonderfällen nützlich sein, z. B. wenn Sie nicht auf den anonymen visitor_code zugreifen können, der dem Besucher ursprünglich zugewiesen wurde, aber Zugriff auf eine interne ID haben, die über die Funktionen zum Zusammenführen von Sitzungen mit dem anonymen Besucher verbunden ist.
Argumente
Metadatenwerte sind über Rohdaten-Exporte und die Ergebnisseite zugänglich.Wenn der Parameter metadata angegeben ist, verwendet Kameleoon diese angegebenen Werte für die aktuelle Konvertierung anstelle der zuvor mit der Methode add_data() gesammelten Werte. Wird der Parameter weggelassen, verwendet Kameleoon die zuletzt verfolgten Werte für diese CustomData vor der Konvertierung und innerhalb desselben Besuchs.Kameleoon berücksichtigt nur die Metadatenwerte, die explizit als Parameter an die Methode track_conversion() übergeben werden.Im folgenden Beispiel ordnet Kameleoon die Konvertierung nur dem Custom-Data-Wert zu, der explizit als Parameter angegeben wurde (hier: Index 5 mit dem Wert ‘Amex Credit Card’).
Ausnahmen

get_engine_tracking_code()

Kameleoon integriert sich mit mehreren Analyselösungen, darunter Mixpanel, Google Analytics 4 und Segment. Um serverseitige Experimente korrekt zu verfolgen, rufen Sie die Methode get_engine_tracking_code() auf, nachdem der Besucher ein Experiment ausgelöst hat. Das SDK gibt JavaScript-Queue-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 Expositionsereignisse über die aktive Analytics-Integration. Weitere Informationen zur Implementierung dieser Methode finden Sie unter hybrid experimentation.
  • Um diese Funktion zu nutzen, implementieren Sie sowohl das Ruby SDK als auch Kameleoon Engine.js. Da Engine.js in diesem Flow nur für das Tracking verwendet wird, können Sie das asynchrone Tag vor dem schließenden </body>-Tag installieren.
  • Wenn Sie Experimente nur in Kameleoon verfolgen möchten und keine Expositionsereignisse an Drittanbieter-Analytics-Tools senden müssen, verwenden Sie das JavaScript / TypeScript SDK. Diese Option eignet sich gut für serverless edge compute platforms. Das JavaScript / TypeScript SDK verfolgt Variationen automatisch, wenn Sie getVisitorCode aufrufen, solange Sie die entsprechenden Experimentzuweisungen zu window.kameleoonQueue hinzufügen.
  • Sie können den zurückgegebenen Tracking-Code direkt in ein HTML-<script>-Tag einfügen.
In diesem Beispiel sind 123456 und 234567 Experiment-IDs und 7890 und 8901 Variations-IDs. In Ihrer Implementierung generiert das SDK diese Werte im zurückgegebenen Tracking-Code.
Argumente
Rückgabewert

Ereignisse

on_update_configuration()

Mit der Methode on_update_configuration() können Sie das Ereignis behandeln, wenn die Konfiguration Daten aktualisiert hat. Sie nimmt einen Eingabeparameter, handler, entgegen. Der Handler, der aufgerufen wird, wenn die Konfiguration über ein Echtzeit-Konfigurationsereignis aktualisiert wird.
Argumente

Datentypen

Browser

Das hier gespeicherte Browser-Datenset kann verwendet werden, um Experiment- und Personalisierungsberichte nach jedem damit verbundenen Wert zu filtern.

PageView

Der Index (ID) des Referrers ist auf der Konfigurationsseite des Akquisitionskanals unseres Back-Office verfügbar. Achtung: Dieser Index beginnt bei 0, sodass der erste Akquisitionskanal, den Sie für eine Site erstellen, die ID 0 hat, nicht 1.

Conversion

Das hier gespeicherte Conversion-Datenset kann verwendet werden, um Experiment- und Personalisierungsberichte nach jedem damit verbundenen Ziel zu filtern.
  • Jeder Besucher kann mehrere Conversion-Objekte haben.
  • Sie finden die goal_id in der Kameleoon-App.

CustomData

CustomData ermöglicht es, jeden Datentyp einfach einem Besucher zuzuordnen. Sie können es dann als Targeting-Bedingung in Segmenten oder als Filter/Aufschlüsselung in Experimentberichten verwenden. Um mehr über Custom Data zu erfahren, lesen Sie diesen Artikel.
  • Jeder Besucher kann nur ein CustomData für jeden eindeutigen index haben. Das Hinzufügen eines weiteren CustomData mit demselben index ersetzt das vorhandene CustomData.
  • Der index des Custom Data ist im Custom-Data-Dashboard in der Spalte “INDEX” zu finden.
  • Um zu verhindern, dass das SDK Daten mit dem ausgewählten Index aus Datenschutzgründen an die Kameleoon-Server sendet, aktivieren Sie beim Erstellen von Custom Data die Option Use this data only locally for targeting purposes.
  • Das Hinzufügen einer mit einem Namen erstellten CustomData-Instanz, wenn die Konfiguration der SDK-Instanz nicht aktuell ist oder der Name nicht registriert ist, führt dazu, dass die Daten ignoriert werden.

Device

UserAgent

Speichert Informationen über den User-Agent des Besuchers. Serverseitige Experimente sind anfälliger für Bot-Traffic als clientseitige Experimente. Um diese Anfälligkeit zu beheben, verwendet Kameleoon die IAB/ABC International Spiders and Bots List, um bekannte Bots und Spider zu identifizieren. Kameleoon verwendet auch das Feld UserAgent, um Bots und anderen unerwünschten Traffic herauszufiltern, der sonst Ihre Konvertierungsmetriken verzerren könnte. Weitere Details finden Sie im Hilfeartikel zum Bot-Filtering. Wenn Sie interne Bots verwenden, empfehlen wir Ihnen, den Wert curl/8.0 des userAgent zu übergeben, um sie von unseren Analytics auszuschließen.

UniqueIdentifier

Wenn Sie keinen UniqueIdentifier für einen Besucher hinzufügen, wird visitor_code als eindeutiger Besucher-Identifikator verwendet, was für Cross-Device-Experimentation nützlich ist. Wenn Sie UniqueIdentifier für einen Besucher hinzufügen, verknüpft das SDK die geflushten Daten mit dem Besucher, der dem angegebenen Identifikator zugeordnet ist. UniqueIdentifier kann auch in anderen Sonderfällen nützlich sein, z. B. wenn Sie nicht auf den anonymen visitorCode zugreifen können, der dem Besucher ursprünglich zugewiesen wurde, aber Zugriff auf eine interne ID haben, die über die Funktionen zum Zusammenführen von Sitzungen mit dem anonymen Besucher verbunden ist.

OperatingSystem

OperatingSystem enthält Informationen über das Betriebssystem des Besuchers.
Jeder Besucher kann nur ein OperatingSystem haben. Das Hinzufügen eines zweiten OperatingSystem überschreibt das erste.
Cookie enthält Informationen über das auf dem Gerät des Besuchers gespeicherte Cookie.
Jeder Besucher kann nur ein Cookie haben. Das Hinzufügen eines zweiten Cookie überschreibt das erste.

Geolocation

Geolocation enthält die Geolokalisierungsdetails des Besuchers.
  • Jeder Besucher kann nur eine Geolocation haben. Das Hinzufügen einer zweiten Geolocation überschreibt die erste.

ApplicationVersion

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

Rückgabetypen

DataFile

Das DataFile enthält die SDK-Konfigurationsdetails. Es kann bei Bedarf um zusätzliche Informationen für Kunden erweitert werden. Wenn Sie weitere Details benötigen, wenden Sie sich bitte an Ihren Customer Success Manager.

FeatureFlag

Das FeatureFlag stellt eine Reihe von Eigenschaften dar, die das Feature Flag selbst definieren – zum Beispiel seine Variations, Rules, Umgebungsstatus und andere zugehörige Details. Es kann bei Bedarf um zusätzliche Informationen für Kunden erweitert werden. Wenn Sie weitere Details benötigen, wenden Sie sich bitte an Ihren Customer Success Manager.

Rule

Das Rule stellt eine Reihe von Eigenschaften dar, die die Regel selbst definieren – zum Beispiel ihre Variations. Es kann bei Bedarf um zusätzliche Informationen für Kunden erweitert werden. Wenn Sie weitere Details benötigen, wenden Sie sich bitte an Ihren Customer Success Manager.

Variation

Variation enthält Informationen über die dem Besucher zugewiesene Variation (oder die Standardvariation, wenn keine spezifische Zuweisung existiert).
  • Das Variation-Objekt bietet Details zur zugewiesenen Variation und ihrem zugehörigen Experiment, während das Variable-Objekt spezifische Details zu jeder Variable innerhalb einer Variation enthält.
  • Stellen Sie sicher, dass Ihr Code den Fall behandelt, in dem id oder experiment_id nil sein kann, was eine Standardvariation anzeigt.
  • Das Hash variables kann 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 in der SDK-Version 4.0.0 entfernt.

get_feature_variation_key()

  • 📨 Sendet Tracking-Daten an Kameleoon
Verwenden Sie stattdessen get_variation().
Um einen Feature-Variation-Key zu erhalten, rufen Sie die Methode get_feature_variation_key auf. Diese Methode nimmt einen visitor_code und feature_key als obligatorische Argumente entgegen, um den Variation-Key eines Benutzers zu erhalten. Wenn ein solcher Benutzer noch nie mit diesem Feature Flag verknüpft war, gibt das SDK zufällig einen Variation-Key zurück (gemäß den Regeln des Feature Flags). Wenn ein Benutzer mit einem bestimmten visitor_code bereits bei diesem Feature Flag registriert ist, erkennt es den vorherigen Variation-Key-Wert. Wenn der Benutzer keiner der Regeln entspricht, wird der Standardwert zurückgegeben, den wir im Konto Ihres Kunden definieren können. Sie müssen sicherstellen, dass in Ihrem Code eine geeignete Fehlerbehandlung eingerichtet ist, wie im Beispiel rechts gezeigt, um potenzielle Ausnahmen abzufangen. Wenn Sie einen visitor_code angeben, verwendet die Methode get_feature_variation_key den visitor_code als eindeutigen Besucher-Identifikator, was für Cross-Device-Experimentation nützlich ist. Wenn Sie einen visitor_code angeben und den Parameter is_unique_identifier auf true setzen, verknüpft das SDK die geflushten Daten mit dem Besucher, der dem angegebenen Identifikator zugeordnet ist.
Der Parameter is_unique_identifier ist veraltet. Bitte verwenden Sie stattdessen UniqueIdentifier.is_unique_identifier kann auch in anderen Sonderfällen nützlich sein, z. B. wenn Sie nicht auf den anonymen visitorCode zugreifen können, der dem Besucher ursprünglich zugewiesen wurde, aber Zugriff auf eine interne ID haben, die über die Funktionen zum Zusammenführen von Sitzungen mit dem anonymen Besucher verbunden ist.
Argumente
Rückgabewert
Ausgelöste Ausnahmen

get_active_feature_list_for_visitor()

Verwenden Sie stattdessen get_active_features().
Diese Methode nimmt nur visitorCode als Eingabeparameter entgegen. Das Ergebnis enthält nur aktive Feature Flags für einen bestimmten Besucher.
Argumente
Rückgabewert
Ausgelöste Ausnahmen

get_active_features()

Die Methode get_active_features ruft Informationen über die aktiven Feature Flags ab, die für den angegebenen Visitor Code verfügbar sind.
Diese Methode ist veraltet und wird in der SDK-Version 4.0.0 entfernt. Verwenden Sie stattdessen get_variations().
Argumente
Rückgabewert
Ausgelöste Ausnahmen

get_feature_variable()

  • 📨 Sendet Tracking-Daten an Kameleoon
Verwenden Sie stattdessen get_variation().
Zuvor obtain_feature_variable genannt – veraltet seit SDK-Version 2.1.0 und wird in zukünftigen Versionen entfernt.
Um eine Variable des einem Benutzer zugeordneten Variation-Keys zu erhalten, rufen Sie die Methode get_feature_variable auf. Diese Methode nimmt einen visitor_code, feature_key und variable_name als obligatorische Argumente entgegen, um eine Variable des Variation-Keys für einen bestimmten Benutzer zu erhalten. Wenn ein solcher Benutzer noch nie mit diesem Feature Flag verknüpft war, gibt das SDK zufällig den Variablenwert eines Variation-Keys zurück (gemäß den Regeln des Feature Flags). Wenn ein Benutzer mit einem bestimmten visitor_code bereits bei diesem Feature Flag registriert ist, erkennt es den Variablen-Wert für die zuvor zugeordnete Variation. Wenn der Benutzer keiner der Regeln entspricht, wird die Standardvariable zurückgegeben. Sie müssen sicherstellen, dass in Ihrem Code eine geeignete Fehlerbehandlung eingerichtet ist, wie im Beispiel rechts gezeigt, um potenzielle Ausnahmen abzufangen. Wenn Sie einen visitor_code angeben, verwendet die Methode get_feature_variable den visitor_code als eindeutigen Besucher-Identifikator, was für Cross-Device-Experimentation nützlich ist. Wenn Sie einen visitor_code angeben und den Parameter is_unique_identifier auf true setzen, verknüpft das SDK die geflushten Daten mit dem Besucher, der dem angegebenen Identifikator zugeordnet ist.
Der Parameter is_unique_identifier ist veraltet. Bitte verwenden Sie stattdessen UniqueIdentifier.is_unique_identifier kann auch in anderen Sonderfällen nützlich sein, z. B. wenn Sie nicht auf den anonymen visitorCode zugreifen können, der dem Besucher ursprünglich zugewiesen wurde, aber Zugriff auf eine interne ID haben, die über die Funktionen zum Zusammenführen von Sitzungen mit dem anonymen Besucher verbunden ist.
Argumente
Rückgabewert
Ausgelöste Ausnahmen

get_feature_variation_variables()

Verwenden Sie stattdessen get_variation().
Um alle Feature-Variablen abzurufen, rufen Sie die Methode get_feature_variation_variables auf. Eine Feature-Variable kann über unsere Webanwendung geändert werden. Diese Methode nimmt feature_key und variation_key als obligatorische Argumente entgegen. Sie gibt die Daten als Objekttyp zurück, wie er in der Weboberfläche definiert ist. Sie löst einen Fehler aus (FeatureNotFound), wenn das angeforderte Feature Flag in der Client-Konfiguration des SDK nicht gefunden wurde. Wenn der Variation-Key nicht gefunden wird, löst die Methode einen Fehler (FeatureVariationNotFound) aus.
Argumente
Rückgabewert
Ausgelöste Ausnahmen

get_feature_list()

Gibt eine Liste der Feature-Flag-Schlüssel zurück, die derzeit für das SDK verfügbar sind.
Rückgabewert