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:
| Schlüssel | Beschreibung | Standardwert |
|---|---|---|
client_id (erforderlich) | Erforderlich für die Authentifizierung beim Kameleoon-Dienst. Um Ihre client id zu finden, lesen Sie die Dokumentation zu API-Anmeldedaten. | |
client_secret (erforderlich) | Erforderlich für die Authentifizierung beim Kameleoon-Dienst. Um Ihr client secret zu finden, lesen Sie die Dokumentation zu API-Anmeldedaten. | |
session_duration_minute (optional) | Bezeichnet das vordefinierte Zeitintervall, in dem Kameleoon den Besucher und die zugehörigen Daten im Speicher (RAM) speichert. Beachten Sie, dass eine Verlängerung der Sitzungsdauer den RAM-Bedarf zur Speicherung der Besucherdaten erhöht. | 30 Minuten |
refresh_interval_minute (optional) | Gibt das Aktualisierungsintervall in Minuten an, in dem das SDK die Konfiguration der aktiven Experimente und Feature Flags abruft. Der Wert bestimmt die maximale Zeit, die benötigt wird, um Änderungen wie das Aktivieren oder Deaktivieren von Feature Flags oder das Starten von Experimenten auf Ihre Produktionsserver zu übertragen. Zusätzlich bieten wir einen Streaming-Modus an, der Server-Sent Events (SSE) verwendet, um neue Konfigurationen automatisch an das SDK zu übermitteln und in Echtzeit ohne Verzögerungen anzuwenden. | 60 Minuten |
default_timeout_millisecond (optional) | Gibt das Timeout in Millisekunden für Netzwerkanfragen vom SDK an. Setzen Sie den Wert auf 30 Sekunden oder mehr, wenn Sie keine stabile Verbindung haben. Einige Methoden verfügen über einen zusätzlichen Parameter, mit dem Sie das Standard-Timeout für diese bestimmte Methode überschreiben können. Wenn Sie das Timeout für eine Methode nicht explizit angeben, verwendet das SDK diesen Standardwert. | 10000 Millisekunden |
tracking_interval_millisecond (optional) | Gibt das Intervall für Tracking-Anfragen in Millisekunden an. Alle Besucher, die Kameleoon für ein Feature Flag ausgewertet hat oder deren Daten geflusht wurden, sind in dieser Tracking-Anfrage enthalten, die das SDK einmal pro Intervall durchführt. Der Mindestwert ist 1000 ms, was auch der Standardwert ist, und der Höchstwert ist 5000 ms. | 1000 Millisekunden |
environment (optional) | Umgebung, aus der die Konfiguration des Feature Flags verwendet werden soll. Der Wert kann production, staging oder development sein. Weitere Informationen finden Sie im Artikel Umgebungen verwalten. | production |
top_level_domain (im Hybrid-Modus erforderlich) | Die aktuelle Top-Level-Domain für Ihre Website. Verwenden Sie das Format: example.com. Geben Sie nicht https://, www oder andere Subdomains an. Kameleoon verwendet diese Information, um das entsprechende Cookie auf der Top-Level-Domain zu setzen. | nil |
network_domain (optional) | Benutzerdefinierte Domain, die von SDKs für ausgehende Anfragen verwendet wird, oft für Proxying. Muss eine gültige Domain sein (z. B. example.com oder sub.example.com). Ungültige Formate werden auf den Standardwert von Kameleoon zurückgesetzt. | nil |
verbose_mode (veraltet) | Boolescher Wert (true oder false), der zusätzliche Protokollierung aktiviert, einschließlich Netzwerkanfragen und Debug-Informationen. Dieses Feld ist veraltet und wird in der SDK-Version 4.0.0 entfernt. Verwenden Sie stattdessen KameleoonLogger.setLogLevel. | nil |
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
| Name | Typ | Beschreibung |
|---|---|---|
| site_code | String | Dies ist ein eindeutiger Schlüssel des Kameleoon-Projekts, das Sie mit dem SDK verwenden. Dieses Feld ist obligatorisch. |
| configuration_file_path | String | Pfad zur SDK-Konfigurationsdatei. Dieses Feld ist optional und standardmäßig auf /etc/kameleoon/client-ruby.yaml gesetzt. |
| config | Kameleoon::KameleoonClientConfig | SDK-Konfigurationsobjekt, das Sie anstelle einer Konfigurationsdatei übergeben können. Dieses Feld ist optional. |
Ausgelöste Ausnahmen
| Typ | Beschreibung |
|---|---|
| Kameleoon::Exception::SiteCodeIsEmpty | Ausnahme, die anzeigt, dass der angegebene Site-Code eine leere Zeichenfolge ist, was ungültig ist. |
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
| Name | Typ | Beschreibung | Standard |
|---|---|---|---|
timeout_millisecond (optional) | Integer | Maximale Wartezeit in Millisekunden. | default_timeout_millisecond |
Rückgabewert
| Typ | Beschreibung |
|---|---|
Boolean | true, wenn die Kameleoon-Client-Instanz erfolgreich initialisiert wurde, andernfalls false (zum Beispiel, wenn das Timeout abgelaufen ist, bevor die Initialisierung abgeschlossen wurde). |
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
| Name | Typ | Beschreibung |
|---|---|---|
| visitor_code | String | Eindeutiger Identifikator des Benutzers. Dieses Feld ist obligatorisch. |
| feature_key | String | Schlüssel des Features, das Sie einem Benutzer zugänglich machen möchten. Dieses Feld ist obligatorisch. |
| is_unique_identifier (veraltet) | Boolean | Wenn auf true gesetzt, verknüpft das SDK die geflushten Daten mit dem Besucher, der dem angegebenen Identifikator zugeordnet ist. |
| track | Boolean | Ein optionaler Parameter zum Aktivieren oder Deaktivieren des Trackings der Feature-Auswertung (standardmäßig true). |
Rückgabewert
| Typ | Beschreibung |
|---|---|
Boolean | Wert des Features, das für einen bestimmten visitor_code registriert ist. |
Ausgelöste Ausnahmen
| Typ | Beschreibung |
|---|---|
| Kameleoon::Exception::FeatureNotFound | Ausnahme, die anzeigt, dass die angeforderte Feature-ID in der internen Konfiguration des SDK nicht gefunden wurde. Diese Ausnahme ist normalerweise normal und bedeutet, dass das Feature Flag auf Seiten von Kameleoon noch nicht aktiviert wurde (aber der Code, der das Feature implementiert, bereits auf Seiten der Webanwendung bereitgestellt ist). |
| Kameleoon::Exception::VisitorCodeInvalid | Ausnahme, die anzeigt, dass der bereitgestellte Visitor Code ungültig ist (leer oder länger als 255 Zeichen). |
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
| Name | Typ | Beschreibung | Standard |
|---|---|---|---|
| visitor_code (erforderlich) | String | Eindeutiger Identifikator des Besuchers. | |
| feature_key (erforderlich) | String | Schlüssel des Features, das Sie einem Besucher zugänglich machen möchten. | |
| track (optional) | Bool | Ein optionaler Parameter zum Aktivieren oder Deaktivieren des Trackings der Feature-Auswertung. | true |
Rückgabewert
| Typ | Beschreibung |
|---|---|
Variation | Eine einem bestimmten Besucher für ein bestimmtes Feature Flag zugewiesene Variation. |
Ausgelöste Ausnahmen
| Typ | Beschreibung |
|---|---|
VisitorCodeInvalid | Ausnahme, die anzeigt, dass der bereitgestellte Visitor Code ungültig ist. Er ist entweder leer oder länger als 255 Zeichen. |
FeatureNotFound | Ausnahme, die anzeigt, dass der angeforderte Feature-Key in der internen Konfiguration des SDK nicht gefunden wurde. Dies bedeutet normalerweise, dass das Feature Flag in der Kameleoon-App nicht aktiviert ist (aber der Code, der das Feature implementiert, bereits in der Anwendung bereitgestellt ist). |
FeatureEnvironmentDisabled | Ausnahme, die anzeigt, dass das Feature Flag für die aktuelle Umgebung des Besuchers deaktiviert ist (z. B. production, staging oder development). |
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
| Name | Typ | Beschreibung | Standard |
|---|---|---|---|
| visitor_code (erforderlich) | String | Eindeutiger Identifikator des Besuchers. | |
| only_active (optional) | Bool | Ein optionaler Parameter, der angibt, ob Variationen für aktive (true) oder alle (false) Feature Flags zurückgegeben werden sollen. | false |
| track (optional) | Bool | Ein optionaler Parameter zum Aktivieren oder Deaktivieren des Trackings der Feature-Auswertung. | true |
Rückgabewert
| Typ | Beschreibung |
|---|---|
Hash<String, Variation> | Map, die die zugewiesenen Variation-Objekte der Feature Flags enthält und die Schlüssel der entsprechenden Features verwendet. |
Ausgelöste Ausnahmen
| Typ | Beschreibung |
|---|---|
VisitorCodeInvalid | Ausnahme, die anzeigt, dass der bereitgestellte Visitor Code ungültig ist. Er ist entweder leer oder länger als 255 Zeichen. |
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
| Name | Typ | Beschreibung | Standard | |
|---|---|---|---|---|
| visitor_code (erforderlich) | String | Eindeutiger Identifikator des Besuchers. | ||
| experiment_id (erforderlich) | Integer | Experiment-Id, die während des Auswertungsprozesses gezielt und ausgewählt wird. | ||
| variation_key (erforderlich) | `String | NilClass` | Variation Key, der einer Variation entspricht, die als Rückgabewert für das Experiment erzwungen werden soll. Wenn der Wert nil ist, wird die erzwungene Variation zurückgesetzt. | |
| force_targeting (optional) | Bool | Gibt an, ob das Targeting für das Experiment erzwungen und übersprungen werden soll (true) oder wie im Standardauswertungsprozess angewendet werden soll (false). | true |
Ausgelöste Ausnahmen
| Typ | Beschreibung |
|---|---|
VisitorCodeInvalid | Ausnahme, die anzeigt, dass der bereitgestellte Visitor Code ungültig ist. Er ist entweder leer oder länger als 255 Zeichen. |
FeatureExperimentNotFound | Ausnahme, die anzeigt, dass die angeforderte Experiment-ID in der internen Konfiguration des SDK nicht gefunden wurde. Dies ist normalerweise normal und bedeutet, dass das der Regel entsprechende Experiment auf Seiten von Kameleoon noch nicht aktiviert wurde. |
FeatureVariationNotFound | Ausnahme, die anzeigt, dass der angeforderte Variation Key (ID) in der internen Konfiguration des SDK nicht gefunden wurde. Dies ist normalerweise normal und bedeutet, dass das der Variation entsprechende Experiment auf Seiten von Kameleoon noch nicht aktiviert wurde. |
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
| Name | Typ | Beschreibung |
|---|---|---|
| visitor_code (erforderlich) | String | Eindeutiger Identifikator des Besuchers. |
Ausgelöste Ausnahmen
| Typ | Beschreibung |
|---|---|
VisitorCodeInvalid | Ausnahme, die anzeigt, dass der bereitgestellte Visitor Code ungültig ist. Er ist entweder leer oder länger als 255 Zeichen. |
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
| Typ | Beschreibung |
|---|---|
DataFile | Das DataFile, das die SDK-Konfiguration enthält. |
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
| Name | Typ | Beschreibung |
|---|---|---|
| cookies | Hash | Cookies der aktuellen HTTP-Anfrage sollten als Hash-Objekt übergeben werden ({:cookie_name => cookie_value}). Wenn Sie Rails verwenden, können Sie die Variable cookies übergeben. Dieses Feld ist obligatorisch. |
| default_visitor_code | String | Dieser Parameter wird als visitor_code verwendet, wenn in der Anfrage kein vorhandenes kameleoonVisitorCode-Cookie gefunden wird. Dieses Feld ist optional, und standardmäßig wird ein zufälliger visitor_code generiert. |
Rückgabewert
| Typ | Beschreibung |
|---|---|
| String | Ein visitor_code, der diesem bestimmten Benutzer zugeordnet wird und mit den meisten SDK-Methoden verwendet werden sollte. |
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
| Name | Typ | Beschreibung | Standardwert |
|---|---|---|---|
| visitor_code (erforderlich) | String | Eindeutiger Identifikator des Besuchers. | |
| data (erforderlich) | *Data | Sammlung von Kameleoon-Datentypen. | |
| track (optional) | Bool | Gibt an, ob die hinzugefügten Daten für das Tracking geeignet sind. Wenn auf false gesetzt, werden die Daten lokal gespeichert und nur für die Targeting-Auswertung verwendet; sie werden nicht an die Kameleoon Data API gesendet. | true |
Ausnahmen
| Typ | Beschreibung |
|---|---|
VisitorCodeInvalid | Ausnahme, die anzeigt, dass der bereitgestellte Visitor Code ungültig ist. Er ist entweder leer oder länger als 255 Zeichen. |
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
| Name | Typ | Beschreibung |
|---|---|---|
| visitor_code | String | Eindeutiger Identifikator des Benutzers. Dieses Feld ist obligatorisch. |
| is_unique_identifier | Boolean | Wenn true, verknüpft das SDK die geflushten Daten mit dem Besucher, der dem angegebenen Identifikator zugeordnet ist. |
| instant | Boolean | Boolescher Flag, der angibt, ob die Daten sofort gesendet werden sollen (true) oder gemäß dem geplanten Tracking-Intervall (false). Dieses Feld ist optional. |
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
| Name | Typ | Beschreibung |
|---|---|---|
| key | String | Der Schlüssel, mit dem die abzurufenden Daten verknüpft sind. Dieses Feld ist obligatorisch. |
| timeout | Integer | Timeout (in Millisekunden). Dieser Parameter gibt die maximale Zeit an, die die Methode blockieren kann, um auf ein Ergebnis zu warten. Dieses Feld ist optional; wenn nicht angegeben, wird der Wert default_timeout aus der Konfigurationsdatei verwendet oder 2000 Millisekunden, wenn er in der Datei nicht angegeben ist. |
Rückgabewert
| Typ | Beschreibung |
|---|---|
| Hash | Hash-Objekt, das mit dem Abrufen von Daten für einen bestimmten key verknüpft ist. |
Ausgelöste Ausnahmen
| Typ | Beschreibung |
|---|---|
| Error | Fehler, der anzeigt, dass die Anfrage abgelaufen ist oder die abgerufenen Daten nicht mit der Methode JSON.parse() analysiert werden können. |
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
| Name | Typ | Beschreibung |
|---|---|---|
| visitor_code | String | Der Visitor Code, für den Sie die zugewiesenen Daten abrufen möchten. Dieses Feld ist obligatorisch. |
| timeout | Integer | Timeout (in Millisekunden). Dieser Parameter gibt die maximale Zeit an, die die Methode blockieren kann, um auf ein Ergebnis zu warten. Dieses Feld ist optional; wenn nicht angegeben, wird der Wert default_timeout aus der Konfigurationsdatei verwendet oder 2000 Millisekunden, wenn er in der Datei nicht angegeben ist. |
| add_data | Boolean | Ein boolescher Wert, der angibt, ob die Methode die abgerufenen Daten automatisch für einen Besucher hinzufügen soll. Wenn nicht angegeben, ist der Standardwert true. Dieses Feld ist optional. |
| filter | Kameleoon::Types::RemoteVisitorDataFilter | Filter, der angibt, welche Daten aus den Besuchen abgerufen werden sollen. Standardmäßig werden nur CustomData aus dem aktuellen und dem letzten vorherigen Besuch abgerufen (RemoteVisitorDataFilter.new(previousVisitAmount: 1, currentVisit: true, customData: true) oder RemoteVisitorDataFilter.new). Andere Filterparameter sind auf false gesetzt. Dieses Feld ist optional. |
| is_unique_identifier (veraltet) | Boolean | Ein optionaler Parameter, der angibt, ob der visitorCode ein eindeutiger Identifikator ist. Wenn nicht angegeben, ist der Standardwert false. Dieses Feld ist optional. |
Rückgabewert
| Typ | Beschreibung |
|---|---|
| Array | Ein Array von Daten, die dem angegebenen Besucher zugeordnet sind. |
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:| Name | Typ | Beschreibung | Standard |
|---|---|---|---|
| previous_visit_amount (optional) | Integer | Anzahl der vorherigen Besuche, aus denen Daten abgerufen werden sollen. Zahl zwischen 1 und 25. | 1 |
| current_visit (optional) | Boolean | Wenn true, werden die Daten des aktuellen Besuchs abgerufen. | true |
| custom_data (optional) | Boolean | Wenn true, werden Custom Data abgerufen. | true |
| page_views (optional) | Boolean | Wenn true, werden Seitendaten abgerufen. | false |
| geolocation (optional) | Boolean | Wenn true, werden Geolokalisierungsdaten abgerufen. | false |
| device (optional) | Boolean | Wenn true, werden Gerätedaten abgerufen. | false |
| browser (optional) | Boolean | Wenn true, werden Browserdaten abgerufen. | false |
| operating_system (optional) | Boolean | Wenn true, werden Betriebssystemdaten abgerufen. | false |
| conversions (optional) | Boolean | Wenn true, werden Konvertierungsdaten abgerufen. | false |
| experiments (optional) | Boolean | Wenn true, werden Experimentdaten abgerufen. | false |
| kcs (optional) | Boolean | Wenn true, wird der Kameleoon Conversion Score (KCS) abgerufen. Erfordert das AI Predictive Targeting Add-on. | false |
| visitor_code (optional) | Boolean | Wenn true, ruft Kameleoon den visitorCode aus dem letzten Besuch ab und verwendet ihn für den aktuellen Besuch. Dies ist notwendig, wenn Sie sicherstellen möchten, dass der durch seinen visitorCode identifizierte Besucher bei Cross-Device-Experimentation über alle Besuche hinweg immer dieselbe Variation erhält. | true |
| personalization (optional) | Boolean | Wenn true, werden Personalisierungsdaten abgerufen. Dies ist für die Personalisierungsbedingung erforderlich. | false |
| cbs (optional) | Boolean | Wenn true, werden Contextual-Bandit-Score-Daten abgerufen. | false |
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
| Name | Typ | Beschreibung |
|---|---|---|
| visitor_code | String | Eine eindeutige Besucheridentifikationszeichenfolge, darf 255 Zeichen nicht überschreiten. |
| custom_data_index | Integer | Eine Ganzzahl, die den Index des Custom Data darstellt, das Sie zum Targeting Ihrer BigQuery-Audiences verwenden möchten. |
| warehouse_key | String | Ein eindeutiger Schlüssel zur Identifizierung der Warehouse-Daten (normalerweise Ihre interne Benutzer-ID). Dieses Feld ist optional. |
| timeout | Integer | Timeout (in Millisekunden). Dieser Parameter gibt die maximale Zeit an, die auf ein Ergebnis gewartet werden soll. Dieses Feld ist optional. Wenn nicht angegeben, ist der Standardwert 10000 Millisekunden. |
Rückgabewert
| Typ | Beschreibung |
|---|---|
Kameleoon::CustomData | Eine CustomData-Instanz, die bestätigt, dass die Daten dem Besucher hinzugefügt wurden. |
Ausgelöste Ausnahmen
| Typ | Beschreibung |
|---|---|
| Kameleoon::Exception::VisitorCodeInvalid | Ausnahme, die anzeigt, dass der bereitgestellte Visitor Code ungültig ist (er ist entweder leer oder länger als 255 Zeichen). |
| StandardError | Ausnahme, die anzeigt, dass die Anfrage abgelaufen ist oder ein anderer Fehlergrund vorliegt. |
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
| Name | Typ | Beschreibung |
|---|---|---|
| visitor_code | String | Der eindeutige Identifikator des Benutzers. Dieses Feld ist erforderlich. |
| consent | Bool | Ein boolescher Wert, der den Status der rechtlichen Einwilligung darstellt. true zeigt an, dass der Besucher seine rechtliche Einwilligung gegeben hat; false zeigt an, dass der Besucher nie eine Einwilligung erteilt oder diese widerrufen hat. Dieses Feld ist erforderlich. |
| cookies | Hash | Die HTTP-Antwort, bei der Werte in den Cookies basierend auf dem Status der rechtlichen Einwilligung angepasst werden. Dieses Feld ist optional. |
Ausgelöste Ausnahmen
| Typ | Beschreibung |
|---|---|
| Kameleoon::Exception::VisitorCodeInvalid | Ausnahme, die anzeigt, dass der bereitgestellte Visitor Code ungültig ist. Er ist entweder leer oder länger als 255 Zeichen. |
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
| Name | Typ | Beschreibung | Standard |
|---|---|---|---|
| visitor_code (erforderlich) | String | Eindeutiger Identifikator des Besuchers. | |
| goal_id (erforderlich) | Integer | ID des Ziels. | |
| revenue (optional) | Float | Umsatz der Konvertierung. | 0 |
| negative (optional) | Bool | Definiert, ob der Umsatz positiv oder negativ ist. | false |
| metadata (optional) | Array<CustomData> | Ermöglicht es Ihnen, spezifische Werte für Custom Data festzulegen, die als Metadaten für das Ziel in der Kameleoon-App definiert wurden. Beispiel: [CustomData{id: 5, value: "Payment Type"}, CustomData{id: 6, value: "Delivery Method"}]. In diesem Beispiel sind 5 und 9 die Indizes des Custom Data (5 = “Payment Type”, 9 = “Delivery Method”). | nil |
| isUniqueIdentifier (veraltet) | Bool | Ein optionaler Parameter, der angibt, ob der visitor_code ein eindeutiger Identifikator ist. | false |
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
| Typ | Beschreibung |
|---|---|
VisitorCodeInvalid | Ausnahme, die anzeigt, dass der bereitgestellte Visitor Code ungültig ist. Er ist entweder leer oder länger als 255 Zeichen. |
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
| Name | Typ | Beschreibung |
|---|---|---|
| visitor_code (erforderlich) | String | Eindeutiger Identifikator des Besuchers. |
Rückgabewert
| Typ | Beschreibung |
|---|---|
String | JavaScript-Code, der in die Seite eingefügt werden soll. |
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
| Name | Typ | Beschreibung |
|---|---|---|
| handler | Callable | Der Handler, der aufgerufen wird, wenn die Konfiguration über ein Echtzeit-Konfigurationsereignis aktualisiert wird. |
Datentypen
Browser
Das hier gespeicherteBrowser-Datenset kann verwendet werden, um Experiment- und Personalisierungsberichte nach jedem damit verbundenen Wert zu filtern.
| Name | Typ | Beschreibung |
|---|---|---|
| browser_type (erforderlich) | BrowserType | Liste der Browser: CHROME, INTERNET_EXPLORER, FIREFOX, SAFARI, OPERA, OTHER. |
| version (optional) | Float | Version des Browsers, Gleitkommazahl, die die Haupt- und Nebenversion des Browsers darstellt. |
PageView
| Name | Typ | Beschreibung |
|---|---|---|
| url | String | URL der angesehenen Seite. Dieses Feld ist obligatorisch. |
| title | String | Titel der angesehenen Seite. Dieses Feld ist obligatorisch. |
| referrers | Array | Referrer der angesehenen Seiten. Dieses Feld ist optional. |
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.
| Name | Typ | Beschreibung | Standard |
|---|---|---|---|
| goal_id (erforderlich) | Integer | ID des Ziels. | |
| revenue (optional) | Float | Umsatz der Konvertierung. | 0 |
| negative (optional) | Bool | Definiert, ob der Umsatz positiv oder negativ ist. | false |
| metadata (optional) | Array<CustomData> | Metadaten der Konvertierung. | nil |
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.
| Name | Typ | Beschreibung | Standard |
|---|---|---|---|
| index/name (erforderlich) | Integer/String | Index oder Name des Custom Data. Entweder index oder name muss angegeben werden, um die Daten zu identifizieren. | |
| values (erforderlich) | Array | Werte des zu speichernden Custom Data. | |
| overwrite (optional) | Boolean | Flag zur expliziten Steuerung, wie die Werte gespeichert werden und wie sie in Berichten erscheinen. Weitere Informationen | true |
- 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
| Name | Typ | Beschreibung |
|---|---|---|
| device | DeviceType | Liste der Geräte: PHONE, TABLET, DESKTOP. Dieses Feld ist obligatorisch. |
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.
| Name | Typ | Beschreibung |
|---|---|---|
| value | String | Der User-Agent-Wert, der mit Tracking-Anfragen gesendet wird. Dieses Feld ist obligatorisch. |
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.
| Name | Typ | Beschreibung |
|---|---|---|
| value | Boolean | Parameter zur Angabe, ob der visitor_code ein eindeutiger Identifikator ist. Dieses Feld ist erforderlich. |
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.| Name | Typ | Beschreibung |
|---|---|---|
| type | OperatingSystemType | Liste der Typen: WINDOWS, MAC, IOS, LINUX, ANDROID, WINDOWS_PHONE. Dieses Feld ist obligatorisch. |
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.| Name | Typ | Beschreibung |
|---|---|---|
| cookies | Hash | Hash-Objekt ({:cookie_name => cookie_value}), das aus Cookie-Schlüsseln und -Werten besteht. Dieses Feld ist obligatorisch. |
Geolocation
Geolocation enthält die Geolokalisierungsdetails des Besuchers.
| Name | Typ | Beschreibung |
|---|---|---|
| country (erforderlich) | String | Das Land des Besuchers. |
| region (optional) | String | Die Region des Besuchers. |
| city (optional) | String | Die Stadt des Besuchers. |
| postal_code (optional) | String | Die Postleitzahl des Besuchers. |
| latitude (optional) | Float | Die Breitengradkoordinate, die den Standort des Besuchers darstellt. Die Koordinatenzahl stellt Dezimalgrade dar. |
| longitude (optional) | Float | Die Längengradkoordinate, die den Standort des Besuchers darstellt. Die Koordinatenzahl stellt Dezimalgrade dar. |
ApplicationVersion
ApplicationVersion stellt die semantische Versionsnummer Ihrer Anwendung dar.
| Name | Typ | Beschreibung |
|---|---|---|
| version (optional) | String | Die Version der Mobile-Anwendung. Dieses Feld muss der semantischen Versionierung folgen. Akzeptierte Formate sind major, major.minor oder major.minor.patch. |
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.
| Name | Typ | Beschreibung |
|---|---|---|
| feature_flags | Hash<String, FeatureFlag> | Eine Map von FeatureFlag-Objekten, mit Feature-Flag-Schlüsseln als Schlüssel. |
| date_modified | Integer | Der Zeitstempel (in Millisekunden), der angibt, wann das DataFile zuletzt geändert wurde. |
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.
| Name | Typ | Beschreibung |
|---|---|---|
| environment_enabled | Bool | Gibt an, ob das Feature Flag in der aktuellen Umgebung aktiviert ist. |
| default_variation_key | String | Der Schlüssel der Standardvariation, die mit dem Feature Flag verknüpft ist. |
| variations | Hash<String, Variation> | Eine Map von Variation-Objekten, mit Variationsschlüsseln als Schlüssel. |
| rules | Array<Rule> | Eine Liste von Rule-Objekten. |
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.
| Name | Typ | Beschreibung |
|---|---|---|
| variations | Hash<String, Variation> | Eine Map von Variation-Objekten, mit Variationsschlüsseln als Schlüssel. |
Variation
Variation enthält Informationen über die dem Besucher zugewiesene Variation (oder die Standardvariation, wenn keine spezifische Zuweisung existiert).
| Name | Typ | Beschreibung |
|---|---|---|
| name | String | Der Name der Variation. |
| key | String | Der eindeutige Schlüssel, der die Variation identifiziert. |
| id | Integer oder NilClass | Die ID der zugewiesenen Variation (oder nil, wenn es sich um die Standardvariation handelt). |
| experiment_id | Integer oder NilClass | Die ID des mit der Variation verknüpften Experiments (oder nil, wenn Standard). |
| variables | Hash<String, Variable> | Eine Hash-Struktur, die die Variablen der zugewiesenen Variation enthält, mit Variablennamen als Schlüssel. Diese kann leer sein, wenn keine Variablen verknüpft sind. |
- 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.
| Name | Typ | Beschreibung |
|---|---|---|
| key | String | Der eindeutige Schlüssel, der die Variable identifiziert. |
| type | String | Der Typ der Variable. Mögliche Werte: BOOLEAN, NUMBER, STRING, JSON, JS, CSS |
| value | Object | Der Wert der Variable, der von folgenden Typen sein kann: Boolean, Integer, Float, String, Hash, Array. |
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
| Name | Typ | Beschreibung |
|---|---|---|
| visitor_code | string | Eindeutiger Identifikator des Benutzers. Dieses Feld ist obligatorisch. |
| feature_key | string | Schlüssel des Features, das Sie einem Benutzer zugänglich machen möchten. Dieses Feld ist obligatorisch. |
| is_unique_identifier (veraltet) | Boolean | Wenn true, verknüpft das SDK die geflushten Daten mit dem Besucher, der dem angegebenen Identifikator zugeordnet ist. |
Rückgabewert
| Typ | Beschreibung |
|---|---|
| string | Variation-Key des Feature Flags, der für einen bestimmten visitor_code registriert ist. |
Ausgelöste Ausnahmen
| Typ | Beschreibung |
|---|---|
| Kameleoon::Exception::FeatureNotFound | Ausnahme, die anzeigt, dass die angeforderte Feature-ID in der internen Konfiguration des SDK nicht gefunden wurde. Diese Ausnahme ist normalerweise normal und bedeutet, dass das Feature Flag auf Seiten von Kameleoon noch nicht aktiviert wurde (aber der Code, der das Feature implementiert, bereits auf Seiten der Webanwendung bereitgestellt ist). |
| Kameleoon::Exception::FeatureEnvironmentDisabled | Ausnahme, die anzeigt, dass das Feature Flag für die aktuelle Umgebung des Besuchers deaktiviert ist (z. B. production, staging oder development). |
| Kameleoon::Exception::VisitorCodeInvalid | Ausnahme, die anzeigt, dass der bereitgestellte Visitor Code ungültig ist (leer oder länger als 255 Zeichen). |
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
| Name | Typ | Beschreibung |
|---|---|---|
| visitor_code | String | Eindeutiger Identifikator des Benutzers. Dieses Feld ist obligatorisch. |
Rückgabewert
| Typ | Beschreibung |
|---|---|
| Array | Liste der Feature-Flag-Schlüssel, die für einen bestimmten visitor_code aktiv sind. |
Ausgelöste Ausnahmen
| Typ | Beschreibung |
|---|---|
| Kameleoon::Exception::VisitorCodeInvalid | Ausnahme, die anzeigt, dass der bereitgestellte Visitor Code ungültig ist (leer oder länger als 255 Zeichen). |
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
| Name | Typ | Beschreibung |
|---|---|---|
| visitor_code | String | Eindeutiger Identifikator des Benutzers. Dieses Feld ist obligatorisch. |
Rückgabewert
| Typ | Beschreibung |
|---|---|
Hash<String, Variation> | Ein Hash, das die zugewiesenen Variationen der aktiven Features enthält, wobei die IDs der aktiven Features als Schlüssel verwendet werden. |
Ausgelöste Ausnahmen
| Typ | Beschreibung |
|---|---|
| Kameleoon::Exception::VisitorCodeInvalid | Ausnahme, die anzeigt, dass der bereitgestellte Visitor Code ungültig ist (leer oder länger als 255 Zeichen). |
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
| Name | Typ | Beschreibung |
|---|---|---|
| visitor_code | string | Eindeutiger Identifikator des Benutzers. Dieses Feld ist obligatorisch. |
| feature_key | string | Schlüssel des Features, das Sie einem Benutzer zugänglich machen möchten. Dieses Feld ist obligatorisch. |
| variable_name | string | Name der Variable, deren Wert Sie erhalten möchten. Dieses Feld ist obligatorisch. |
| is_unique_identifier (veraltet) | Boolean | Wenn true, verknüpft das SDK die geflushten Daten mit dem Besucher, der dem angegebenen Identifikator zugeordnet ist. |
Rückgabewert
| Typ | Beschreibung |
|---|---|
| any | Wert einer Variablen einer Variation, der für einen bestimmten visitor_code für dieses Feature Flag registriert ist. Mögliche Typen: boolean, number, string, hash. |
Ausgelöste Ausnahmen
| Typ | Beschreibung |
|---|---|
| Kameleoon::Exception::FeatureNotFound | Ausnahme, die anzeigt, dass die angeforderte Feature-ID in der internen Konfiguration des SDK nicht gefunden wurde. Diese Ausnahme ist normalerweise normal und bedeutet, dass das Feature Flag auf Seiten von Kameleoon noch nicht aktiviert wurde (aber der Code, der das Feature implementiert, bereits auf Seiten der Webanwendung bereitgestellt ist). |
| Kameleoon::Exception::FeatureEnvironmentDisabled | Ausnahme, die anzeigt, dass das Feature Flag in der aktuellen Umgebung des Besuchers deaktiviert ist (z. B. production, staging oder development). |
| Kameleoon::Exception::VisitorCodeInvalid | Ausnahme, die anzeigt, dass der bereitgestellte Visitor Code ungültig ist (leer oder länger als 255 Zeichen). |
| Kameleoon::Exception::FeatureVariableNotFound | Ausnahme, die anzeigt, dass die angeforderte Variable nicht gefunden wurde. Überprüfen Sie, ob der Schlüssel der Variable mit dem Schlüssel in Ihrem Code übereinstimmt. |
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.
Argumente
| Name | Typ | Beschreibung |
|---|---|---|
| feature_key | string | Schlüssel des Feature Flags, das Sie abrufen möchten. Dieses Feld ist obligatorisch. |
| variation_key | string | Schlüssel der Variation, die Sie abrufen möchten. Dieses Feld ist obligatorisch. |
Rückgabewert
| Typ | Beschreibung |
|---|---|
| Hash | Daten, die mit diesem Feature Flag und dieser Variation verknüpft sind. Die Werte können String, Boolean, Number oder Hash sein (je nach dem in der Weboberfläche definierten Typ). |
Ausgelöste Ausnahmen
| Typ | Beschreibung |
|---|---|
| Kameleoon::Exception::FeatureNotFound | Ausnahme, die anzeigt, dass die angeforderte Feature-ID in der internen Konfiguration des SDK nicht gefunden wurde. Diese Ausnahme ist normalerweise normal und bedeutet, dass das Feature Flag auf Seiten von Kameleoon noch nicht aktiviert wurde (aber der Code, der das Feature implementiert, bereits auf Seiten der Webanwendung bereitgestellt ist). |
| Kameleoon::Exception::FeatureEnvironmentDisabled | Ausnahme, die anzeigt, dass das Feature Flag für die aktuelle Umgebung des Besuchers deaktiviert ist (z. B. production, staging oder development). |
| Kameleoon::Exception::FeatureVariationNotFound | Ausnahme, die anzeigt, dass die angeforderte Variations-ID in der internen Konfiguration des SDK nicht gefunden wurde. Diese Ausnahme ist normalerweise normal und bedeutet, dass das der Variation entsprechende Experiment auf Seiten von Kameleoon noch nicht aktiviert wurde. |
get_feature_list()
Gibt eine Liste der Feature-Flag-Schlüssel zurück, die derzeit für das SDK verfügbar sind.Rückgabewert
| Typ | Beschreibung |
|---|---|
Array | Liste der Feature-Flag-Schlüssel. |