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.
Aktivieren eines Feature Flags
Zuweisen einer eindeutigen ID zu einem Benutzer
Um einem Benutzer eine eindeutige ID zuzuweisen, können Sie die Methodeget_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 Methodeget_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 Methodeadd_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 Methodetrack_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 Methodeget_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 Methodeget_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 SieCustomData, 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ügtemUniqueIdentifier(true)– um Daten für alle verknüpften Besucher abzurufen.track_conversion()oderflush()mit hinzugefügtenUniqueIdentifier(true)-Daten – um bestimmte Daten für einen Besucher zu verfolgen, der einem anderen Besucher zugeordnet ist.
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
accountIdverwenden. Benutzerdefinierte Bucketing-Schlüssel sind entscheidend für A/B-Tests von Funktionen, die ein gesamtes Team oder Unternehmen betreffen.
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 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
add_data()bereitgestellt wird, verwenden alle Hash-Berechnungen zur Zuweisung von Benutzern zu Variationen diesennewVisitorCode(Ihren benutzerdefinierten Schlüssel) anstelle des standardmäßigenvisitor_code. Die Verwendung vonnewVisitorCodebedeutet, 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ünglichenvisitor_codezugeordnet 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
Stringsein. - Er muss eindeutig für die Entität sein, die Sie bucketen möchten (z. B. wenn Sie eine
userIdverwenden, 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.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.Argumente
Rückgabewert
Ausgelöste Ausnahmen
get_variation()
- 📨 Sendet Tracking-Daten an Kameleoon (abhängig vom Parameter
track)
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)
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_activeauftruegesetzt ist, gibt die Methodeget_variations()die Variationen der Feature Flags zurück, sofern der Benutzer nicht deroff-Variation zugeordnet ist. - Der Parameter
tracksteuert, ob die Methode die Variationszuweisungen verfolgt. Standardmäßig ist er auftruegesetzt. Wenn er auffalsegesetzt ist, wird das Tracking deaktiviert.
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 bestimmteVariation 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.
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
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()
Gibt die aktuelle SDK-Konfiguration alsDataFile-Objekt zurück.
Rückgabewert
Besucherdaten
get_visitor_code()
Zuvor
obtain_visitor_code genannt – seit SDK-Version 3.0.0 entfernt.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:
- 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.
- 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. - Wenn weder Cookie, Parameter noch Argument gefunden wird, generieren Sie zufällig einen eindeutigen Identifikator.
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
kameleoonSimulationFFDatamanuell.
- Simulierte Variationen: Beeinflussen das gesamte Ergebnis des Feature Flags.
- Erzwungene Variationen: Sind spezifisch für ein einzelnes Experiment.
kameleoonSimulationFFData diesem Format folgt:kameleoonSimulationFFData={"featureKey":{"expId":10,"varId":20}}: Simuliert die Variation mitvarIddes ExperimentsexpIdfür den angegebenenfeatureKey.kameleoonSimulationFFData={"featureKey":{"expId":0}}: Simuliert die Standardvariation (definiert im Abschnitt Then, for everyone else in Production, serve) für den angegebenenfeatureKey.
encodeURIComponent codiert werden.Argumente
Rückgabewert
add_data()
Die Methodeadd_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.
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.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.
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 Methodeget_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 angegebenenvisitor_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
set_legal_consent()
Sie müssen diese Methode verwenden, um anzugeben, ob der Besucher seine rechtliche Einwilligung zur Verwendung personenbezogener Daten gegeben hat. Wenn Sie den Parameterconsent 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 Sieset_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
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 Methodeget_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
getVisitorCodeaufrufen, solange Sie die entsprechenden Experimentzuweisungen zuwindow.kameleoonQueuehinzufügen. - Sie können den zurückgegebenen Tracking-Code direkt in ein HTML-
<script>-Tag einfügen.
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 Methodeon_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 gespeicherteBrowser-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 gespeicherteConversion-Datenset kann verwendet werden, um Experiment- und Personalisierungsberichte nach jedem damit verbundenen Ziel zu filtern.
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
CustomDatafür jeden eindeutigenindexhaben. Das Hinzufügen eines weiterenCustomDatamit demselbenindexersetzt das vorhandeneCustomData. - Der
indexdes 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 FeldUserAgent, 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 keinenUniqueIdentifier 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
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.
ApplicationVersion
ApplicationVersion stellt die semantische Versionsnummer Ihrer Anwendung dar.
Rückgabetypen
DataFile
DasDataFile 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
DasFeatureFlag 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
DasRule 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 dasVariable-Objekt spezifische Details zu jeder Variable innerhalb einer Variation enthält. - Stellen Sie sicher, dass Ihr Code den Fall behandelt, in dem
idoderexperiment_idnilsein kann, was eine Standardvariation anzeigt. - Das Hash
variableskann 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
get_feature_variation_key()
- 📨 Sendet Tracking-Daten an Kameleoon
Verwenden Sie stattdessen
get_variation().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().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 Methodeget_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.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().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.