Guía del desarrollador
Esta guía está diseñada para ayudarle a integrar rápidamente el SDK de Rust y empezar a evaluar feature flags en su aplicación Rust.Primeros pasos
Instalar el cliente Rust
Si está trabajando en el workspace actual, añada el SDK como dependencia de ruta junto contokio, ya que varios métodos del SDK son asíncronos:
Cargo.toml
Configuración adicional
Cree un archivo de configuraciónclient-rust.json para proporcionar las credenciales y personalizar el comportamiento del SDK. También puede descargar nuestro archivo de configuración de ejemplo.
Recomendamos guardar este archivo en la ruta predeterminada, /etc/kameleoon/client-rust.json, pero puede guardarlo en cualquier lugar del classpath con el nombre client-rust.json.
El SDK de Rust puede configurarse con un archivo JSON utilizado por create_with_path() o construyendo una instancia KameleoonClientConfig con create_with_config() directamente en el código.
La siguiente tabla muestra las propiedades disponibles que puede establecer:
Inicializar el cliente Kameleoon
Una vez que haya instalado el SDK y configurado sus credenciales, cree unKameleoonClient mediante KameleoonClientFactory.
- Archivo de configuración
- Código
KameleoonClient es el objeto principal utilizado para evaluar feature flags, añadir datos de visitantes y enviar solicitudes de seguimiento.
Activación de un feature flag
Asignar un ID único a un usuario
Para asignar un ID único a un usuario puede utilizar el métodoget_visitor_code(). Si no existe un código de visitante (en la cookie de las cabeceras de la solicitud), el método genera un ID único aleatorio o utiliza un default_visitor_code que usted haya generado. A continuación, el ID se establece en una cookie de cabeceras de respuesta.
Si utiliza Kameleoon en modo híbrido, llamar al método get_visitor_code() garantiza que el ID único (código de visitante) se comparta entre el archivo de aplicación engine.js (anteriormente denominado kameleoon.js) y el SDK.
Recuperar la configuración de un flag
Para implementar un feature flag en su código, primero debe crear el feature flag en su cuenta Kameleoon. Para determinar el estado o la variación de un feature flag para un usuario específico, debe usar el métodoget_variation() o is_feature_active() para recuperar la configuración basada en feature_key.
El método get_variation() gestiona tanto feature flags simples con estados ON/OFF como flags más complejos con varias variaciones. El método recupera la variación adecuada para el usuario comprobando las reglas de la funcionalidad, asignando la variación y devolviéndola según feature_key y visitor_code.
El método is_feature_active() puede utilizarse si desea recuperar la configuración de un feature flag simple que solo tiene un estado ON u OFF, en contraposición a feature flags más complejos con varias variaciones u opciones de segmentación.
Si su feature flag tiene variables asociadas (como comportamientos específicos vinculados a cada variación), get_variation() también le permite acceder al objeto Variation, que proporciona detalles sobre la variación asignada y su experimento asociado. Este método comprueba si el usuario está segmentado, encuentra la variación asignada al visitante y la guarda en el almacenamiento. Cuando track=true, el SDK enviará el evento de exposición al experimento especificado en la próxima solicitud de seguimiento, que se activa automáticamente según el tracking_interval del SDK. Por defecto, este intervalo está establecido en 1000 milisegundos (1 segundo).
El método get_variation() le permite controlar si se realiza el seguimiento. Si track=false, el SDK no enviará eventos de exposición. Esto es útil si prefiere no rastrear datos a través del SDK y en su lugar utilizar el seguimiento del lado del cliente gestionado, por ejemplo, por el engine de Kameleoon. Además, establecer track=false es útil cuando se utiliza el método get_variations(), donde es posible que solo necesite las variaciones de todos los flags sin desencadenar ningún evento de seguimiento. Si desea saber más sobre cómo funciona el seguimiento, consulte este artículo
Añadir puntos de datos para segmentar a un usuario o filtrar / desglosar visitas en los informes
Para segmentar a un usuario, asegúrese de haber añadido los puntos de datos relevantes a su perfil antes de recuperar la variación de la funcionalidad o de comprobar si el flag está activo. Utilice el métodoadd_data() para añadir estos puntos de datos al perfil del usuario.
Para recuperar puntos de datos recopilados en otros dispositivos o para acceder a datos pasados del usuario (recopilados del lado del cliente cuando se utiliza Kameleoon en modo híbrido), use el método get_remote_visitor_data(). Este método obtiene datos del servidor de forma asíncrona. Es importante llamar a get_remote_visitor_data() antes de recuperar la variación o comprobar si el feature flag está activo, ya que estos datos pueden ser necesarios para asignar a un usuario a una variación determinada.
Para obtener más información sobre las condiciones de segmentación disponibles, consulte el artículo detallado sobre el tema.
Además, los puntos de datos que añada al perfil del visitante estarán disponibles al analizar sus experimentos, lo que le permitirá filtrar y desglosar los resultados por factores como el dispositivo y el navegador. El modo híbrido de Kameleoon recopila automáticamente una variedad de puntos de datos del lado del cliente, lo que facilita el desglose de los resultados según estos datos preexistentes. Consulte la lista completa aquí.
Si necesita rastrear puntos de datos adicionales más allá de lo que se recopila automáticamente, puede usar la funcionalidad de Datos Personalizados de Kameleoon. Los datos personalizados le permiten capturar y analizar información específica relevante para sus experimentos. No olvide llamar al método flush() para enviar los datos recopilados a los servidores de Kameleoon para su análisis.
Para garantizar que sus resultados sean precisos, se recomienda filtrar los bots utilizando el tipo de datos
UserAgent.Seguimiento de conversiones de objetivos
Cuando un usuario completa una acción deseada (como realizar una compra), se registra como una conversión. Para rastrear conversiones, utilice el métodotrack_conversion() y proporcione los parámetros obligatorios visitor_code y goal_id.
La solicitud de seguimiento de la conversión se enviará junto con la siguiente solicitud de seguimiento programada, que el SDK envía a intervalos regulares (definidos por tracking_interval). Si prefiere enviar la solicitud inmediatamente, utilice el método flush_instant().
Enviar eventos a soluciones de analítica
Para rastrear conversiones y enviar eventos de exposición a su solución de analítica de cliente, primero debe implementar Kameleoon en modo híbrido. A continuación, utilice el métodoget_engine_tracking_code().
El método get_engine_tracking_code() recupera el código único de seguimiento necesario para enviar eventos de exposición a su solución de analítica. El uso de este método le permite registrar eventos y enviarlos a la plataforma de analítica que desee.
Uso de una clave de bucketing personalizada
De forma predeterminada, Kameleoon utiliza un ID único y anónimo del visitante (visitor_code) para asignar a los usuarios a las variaciones de los feature flags. Este ID se genera y se almacena normalmente en el dispositivo del usuario (en una cookie del navegador para los SDKs cliente y servidor, en almacenamiento persistente para los SDKs móviles). Sin embargo, en determinados escenarios es posible que necesite garantizar que todos los usuarios de una misma organización vean la misma variante de un feature flag.
La opción Clave de bucketing personalizada le permite anular este comportamiento predeterminado proporcionando su propio identificador personalizado para el bucketing. Esta anulación garantiza que la lógica de asignación de Kameleoon utilice la clave especificada en lugar del visitor_code predeterminado.
Casos de uso
Utilizar una clave de bucketing personalizada es esencial para mantener la coherencia y la precisión en las asignaciones de feature flags, especialmente en estas situaciones:- Experimentos a nivel de cuenta u organización: para productos B2B o escenarios en los que quiera asignar a todos los usuarios de la misma organización a la misma variación, puede usar un identificador como
account_id. Las claves de bucketing personalizadas son cruciales para los tests A/B de funcionalidades que afectan a todo un equipo o empresa.
Detalles técnicos
Cuando configura una clave de bucketing personalizada para un feature flag, proporciona a Kameleoon un identificador específico de los datos de su aplicación:- Proporcionar la clave personalizada: proporciona su identificador personalizado al SDK de Kameleoon mediante el método
add_data(). En este método pasará la clave de bucketing personalizada elegida como objetoCustomData. Aquí,new_visitor_codese refiere al identificador que desea utilizar para su bucketing (por ejemplo, el nuevouser_idoaccount_id).
- Lógica de bucketing: una vez proporcionada la clave de bucketing personalizada mediante el método
add_data(), todos los cálculos de hash para asignar usuarios a variaciones utilizarán estenew_visitor_code(su clave personalizada) en lugar delvisitor_codepredeterminado. El uso denew_visitor_codesignifica que la decisión de bucketing se vincula a su identificador personalizado, garantizando asignaciones coherentes en distintos contextos donde dicho identificador esté presente. - Seguimiento de datos y analítica: es crucial tener en cuenta que, aunque se utiliza
new_visitor_code(su clave personalizada) para las decisiones de bucketing, todos los datos posteriores (eventos de seguimiento y conversiones, por ejemplo) se envían y se asocian con elvisitor_codeoriginal. Esta separación garantiza que sus analíticas reflejen con precisión los recorridos e interacciones individuales de los usuarios dentro del contexto más amplio de su experimento, incluso cuando el bucketing se realiza a un nivel superior (como una cuenta) o a través de varios dispositivos/sesiones. Sus datos originales de visitante permanecen intactos para informes completos.
Requisitos técnicos
Para utilizar eficazmente una clave de bucketing personalizada:- La clave debe ser un
&str. - Debe ser única para la entidad que tiene la intención de bucketizar (por ejemplo, si utiliza
user_id, el ID de cada usuario debe ser único). - La clave debe estar disponible para el SDK en el momento exacto en el que se evalúa la decisión del feature flag para ese usuario o solicitud.
Condiciones de segmentación
Los SDKs de Kameleoon admiten una variedad de condiciones de segmentación predefinidas que puede utilizar para segmentar a los usuarios en sus campañas. Para conocer la lista de condiciones que admite este SDK, consulte usar el historial de visitas para segmentar usuarios. También puede utilizar sus propios datos externos para segmentar a los usuarios.Experimentación cross-device
Para dar soporte a los visitantes que acceden a una aplicación desde varios dispositivos, Kameleoon permite sincronizar los datos del visitante recopilados previamente en cada uno de los dispositivos del visitante y reconciliar su historial de visitas entre dispositivos mediante la experimentación cross-device. Los casos de estudio e información detallada sobre cómo Kameleoon gestiona los datos entre dispositivos están disponibles en el artículo sobre experimentación cross-device.Sincronizar custom data entre dispositivos
Aunque la sincronización de custom mapping se utiliza para alinear los datos del visitante entre dispositivos, no siempre es necesaria. A continuación se describen dos escenarios en los que no se requiere la sincronización de custom mapping: Mismo ID de usuario entre dispositivos Si el mismo ID de usuario se utiliza de forma coherente en todos los dispositivos, la sincronización se gestiona automáticamente sin necesidad de sincronización de custom mapping. Basta con llamar al métodoget_remote_visitor_data() cuando se desee sincronizar los datos recopilados entre varios dispositivos.
Instancias multiservidor con IDs coherentes
En configuraciones complejas con varios servidores (por ejemplo, instancias de servidor distribuidas), donde el mismo ID de usuario está disponible en los distintos servidores, la sincronización entre servidores (con get_remote_visitor_data()) es suficiente sin necesidad de una sincronización adicional de custom mapping.
Los clientes que necesiten datos adicionales pueden consultar la descripción del método get_remote_visitor_data() para obtener más orientación. En el siguiente código, se asume que el mismo identificador único (en este caso, el visitor_code, que también puede denominarse userId) se utiliza de forma coherente entre los dos dispositivos para una recuperación de datos precisa.
Si desea sincronizar los datos recopilados en tiempo real, debe elegir el ámbito Visitor para sus custom data.
Dispositivo A
Dispositivo B
Uso de custom data para la fusión de sesiones
La experimentación cross-device permite combinar el historial de un visitante entre cada uno de sus dispositivos (reconciliación del historial). La reconciliación del historial permite fusionar distintas sesiones del visitante en una sola. Para reconciliar el historial de visitas, utiliceCustomData para proporcionar un identificador único del visitante. Para más información, consulte la documentación específica.
Una vez activada la reconciliación cross-device, llamar a get_remote_visitor_data() con el parámetro userId recupera todos los datos conocidos de un usuario determinado.
A las sesiones con el mismo identificador siempre se les mostrará la misma variación en un experimento. En la vista de Visitante de las páginas de resultados de su experimento, estas sesiones aparecerán como un único visitante.
La configuración del SDK garantiza que las sesiones asociadas siempre vean la misma variación del experimento. Sin embargo, existen algunas limitaciones respecto a la asignación de variaciones cross-device. Estas limitaciones se describen aquí.
Siga la guía activación de la reconciliación cross-device del historial para configurar su custom data en la plataforma Kameleoon.
Posteriormente, podrá utilizar el SDK con normalidad. Los siguientes métodos pueden resultar útiles en el contexto de la fusión de sesiones:
get_remote_visitor_data()conUniqueIdentifier(true)añadido: para recuperar datos de todos los visitantes vinculados.track_conversion()oflush()con datosUniqueIdentifier(true)añadidos: para rastrear datos específicos de un visitante que está asociado a otro visitante.
get_visitor_code(). Tras iniciar sesión, el visitante anónimo se asocia con el ID de usuario y se utiliza como identificador único del visitante.
Logging
El SDK genera logs para reflejar diversos procesos e incidencias internos.Niveles de log
El SDK admite la configuración del logging limitándolo por nivel de log.Gestión personalizada de los logs
De forma predeterminada, el SDK escribe sus logs en la salida de consola. Este comportamiento puede sobrescribirse.La limitación del logging por nivel de log se realiza independientemente de la lógica de gestión de los logs.
Referencia
Esta es la documentación de referencia completa del SDK de Rust.Inicialización
create()
Para utilizar el SDK, cree unKameleoonClient a partir de una instancia de KameleoonClientConfig con KameleoonClientFactory::create_with_config()/KameleoonClientFactory::create_with_file().
- create_with_config()
- create_with_file()
Argumentos
Valor devuelto
Errores
initialize()
Espera a que el cliente Kameleoon se inicialice utilizando eldefault_timeout configurado o un timeout proporcionado. Este método garantiza que el cliente esté completamente inicializado antes de realizar cualquier otra operación.
Argumentos
Valor devuelto
Errores
is_ready()
Comprueba si el cliente ha sido inicializado.Valor devuelto
forget()
Elimina el cliente del SDK en caché asociado alsite_code especificado.
Argumentos
Valor devuelto
Feature flags y variaciones
is_feature_active()
- 📨 Envía datos de seguimiento a Kameleoon (según la opción
track)
Kameleoon utiliza el seguimiento para contabilizar sesiones y visitantes cuando llama a determinados métodos, como
is_feature_active(), get_variation() o get_variations().Utilice el valor predeterminado true para el parámetro track cuando exponga a los visitantes a una variación y necesite contabilizarlos. Establezca el parámetro track en false solo si llama a estos métodos antes de exponer a los visitantes.Por ejemplo, si llama a get_variations() para recuperar todas las variaciones antes de exponer a los visitantes, establezca el parámetro track en false. Esta configuración evita que Kameleoon contabilice prematuramente una sesión. Posteriormente podrá activar el seguimiento cuando exponga explícitamente al visitante.Kameleoon envía los datos de seguimiento cada segundo por defecto. Puede configurar este intervalo hasta cinco segundos mediante la opción de configuración del intervalo de seguimiento. Kameleoon agrupa los eventos de seguimiento en una única sesión siempre que el intervalo entre eventos sea inferior a 30 minutos. Si transcurren más de 30 minutos entre eventos de seguimiento, Kameleoon los cuenta como sesiones separadas. Una visita aparece en sus informes 30 minutos después del último evento registrado en la sesión.Argumentos
Valor devuelto
Errores
get_variation()
- 📨 Envía datos de seguimiento a Kameleoon (según el parámetro
track)
Variation asignada a un visitante determinado para un feature flag específico.
Este método toma visitor_code y feature_key como argumentos obligatorios. El argumento track es opcional y su valor predeterminado es true.
Devuelve la Variation asignada al visitante. Si el visitante no está asociado a ninguna regla de feature flag, el método devuelve la Variation por defecto para el feature flag indicado.
Asegúrese de que su código implementa un manejo de errores adecuado para gestionar las posibles excepciones.
La variación por defecto se refiere a la variación asignada a un visitante cuando este no coincide con ninguna regla de entrega predefinida para un feature flag. Dicho de otro modo, es la variación de respaldo que se aplica a todos los usuarios que no son segmentados por reglas específicas. Está representada por la variación de la sección “Entonces, para todos los demás…” en una interfaz de gestión.
Argumentos
Valor devuelto
Errores
get_variations()
- 📨 Envía datos de seguimiento a Kameleoon (según el parámetro
track)
Variation asignados a un visitante determinado en todos los feature flags.
Este método itera sobre todos los feature flags disponibles y devuelve la Variation asignada para cada flag asociado al visitante especificado. Toma visitor_code como argumento obligatorio, mientras que only_active y track son opcionales.
- Si
only_activese establece entrue, el métodoget_variations()devolverá las variaciones de los feature flags siempre que el usuario no esté bucketizado en la variaciónoff. - El parámetro
trackcontrola si el método rastrea o no las asignaciones de variaciones. Por defecto, está establecido entrue. Si se establece enfalse, el seguimiento se desactivará.
Variation correspondiente como valores. Si no hay variación asignada para un feature flag, el método devuelve la Variation por defecto para ese flag.
Debe implementarse un manejo de errores adecuado para gestionar las posibles excepciones.
La variación por defecto se refiere a la variación asignada a un visitante cuando este no coincide con ninguna regla de entrega predefinida para un feature flag. Dicho de otro modo, es la variación de respaldo que se aplica a todos los usuarios que no son segmentados por reglas específicas. Está representada por la variación de la sección “Entonces, para todos los demás…” en una interfaz de gestión.
Argumentos
Valor devuelto
Errores
set_forced_variation()
El método le permite asignar de forma programática unaVariation específica a un usuario, omitiendo el proceso de evaluación estándar. Esto resulta especialmente valioso en experimentos controlados en los que no se requiere la lógica habitual de evaluación o debe omitirse. También puede ser útil en escenarios como la depuración o las pruebas personalizadas.
Cuando se establece una variación forzada, esta anula la lógica de evaluación en tiempo real de Kameleoon. Se omiten procesos como la segmentación, las condiciones de targeting y los cálculos algorítmicos. Para conservar la segmentación y las condiciones de targeting durante un experimento, establezca force_targeting=false en su lugar.
Las variaciones simuladas siempre tienen prioridad en el orden de ejecución. Si se activa el cálculo de una variación simulada, esta se procesará y completará primero por completo.
Argumentos
Valor devuelto
Errores
evaluate_audiences()
- 📨 Envía datos de seguimiento a Kameleoon
evaluate_audiences() debe llamarse después de que se hayan establecido o actualizado todos los datos relevantes del visitante, y justo antes de obtener una variación de funcionalidad o comprobar un feature flag. Este enfoque garantiza que el visitante sea evaluado con los datos más actuales disponibles, lo que permite una asignación precisa de audiencias en función de todos los criterios.
Tras llamar a este método, puede realizar un análisis detallado del rendimiento de los segmentos en Audiences Explorer.
Argumentos
Valor devuelto
Errores
get_datafile()
Devuelve la configuración actual del SDK como un objetoDataFile.
Valor devuelto
Errores
Datos del visitante
get_visitor_code()
Utiliceget_visitor_code() para obtener el visitor_code de Kameleoon del visitante actual. El método funciona con cualquier almacén de cookies que implemente el trait CookieAccessor.
La lógica de implementación es la siguiente:
- El SDK comprueba si ya hay una cookie
kameleoonVisitorCodedisponible a través del accesor proporcionado. - Si la cookie no está presente, el SDK utiliza
default_visitor_codesi lo proporciona. - En caso contrario, el SDK genera un nuevo código de visitante y lo almacena a través del accesor.
El método
get_visitor_code() le permite establecer variaciones simuladas para un visitante. Cuando las cookies (de una request o document) contienen la clave kameleoonSimulationFFData, el proceso de evaluación estándar se omite. En su lugar, el método devuelve directamente una Variation basada en los datos proporcionados.Puede aplicar simulaciones de dos formas:- Automáticamente (recomendado): si utiliza Kameleoon Web Experimentation o el SDK en modo híbrido, la cookie se crea automáticamente al simular la visualización de una variante mediante el Panel de Simulación.
- Manualmente: establezca la cookie
kameleoonSimulationFFDatamanualmente.
- Variaciones simuladas: afectan al resultado global del feature flag.
- Variaciones forzadas: son específicas de un experimento individual.
kameleoonSimulationFFData sigue este formato:kameleoonSimulationFFData={"featureKey":{"expId":10,"varId":20}}: simula la variación convarIddel experimentoexpIdpara elfeatureKeyindicado.kameleoonSimulationFFData={"featureKey":{"expId":0}}: simula la variación por defecto (definida en la sección Entonces, para todos los demás en Producción, servir) para elfeatureKeyindicado.
encodeURIComponent.- Personalizado
- Axum
- Actix
Argumentos
Valor devuelto
add_data()
El métodoadd_data() añade datos de targeting al almacenamiento para que otros métodos puedan usar los datos para decidir si segmentar o no al visitante actual.
El método add_data() no devuelve ningún valor y no interactúa por sí solo con los servidores back-end de Kameleoon. En su lugar, todos los datos declarados se guardan para su transmisión futura mediante el método flush(). Este enfoque reduce el número de llamadas al servidor realizadas, ya que los datos se suelen agrupar en una única llamada al servidor que se desencadena con flush().
El método track_conversion() también envía cualquier dato previamente asociado, igual que flush(). Lo mismo ocurre con los métodos get_variation() y get_variations() si se activa una regla de experimentación.
Argumentos
Valor devuelto
Errores
flush()
- 📨 Envía datos de seguimiento a Kameleoon
flush() agrega todos los datos Kameleoon asociados a un visitante y envía una solicitud de seguimiento al servidor. Esta solicitud incluye los datos añadidos previamente mediante el método add_data que aún no se hayan transmitido a través de otros mecanismos de seguimiento (consulte los métodos referenciados para más detalles). La operación flush() no es bloqueante, ya que la llamada al servidor se realiza de forma asíncrona.
Este método proporciona control sobre cuándo se transmiten los datos vinculados a un visitor_code específico. Por ejemplo, si se llama a add_data() varias veces, enviar una solicitud tras cada invocación sería ineficiente. En su lugar, puede agrupar estas actualizaciones y llamar a flush() una vez para enviar todos los datos acumulados en una sola solicitud.
El método flush() utiliza el visitor_code proporcionado como identificador único del visitante.
Argumentos
Valor devuelto
Errores
get_remote_data()
El métodoget_remote_data() le permite recuperar datos remotos almacenados en los servidores de Kameleoon para el key especificado. En la mayoría de las configuraciones, estos datos se escriben a través de la API de datos de Kameleoon y pueden recuperarse posteriormente por su servicio Rust cuando necesite contexto adicional de la aplicación.
Este método es útil cuando desea mantener información estructurada en la infraestructura remota de Kameleoon y reutilizarla desde su back-end sin tener que mantener un mecanismo de recuperación independiente.
Argumentos
Valor devuelto
Errores
get_remote_visitor_data()
get_remote_visitor_data() es un método asíncrono para recuperar los datos de visita de Kameleoon del visitor_code proporcionado. El método añade los datos al almacenamiento local del visitante para que otros métodos del SDK puedan utilizarlos en decisiones de targeting.
Los datos obtenidos con este método son especialmente útiles cuando se desea:
- utilizar datos recopilados desde otros dispositivos.
- acceder al historial de un visitante, como páginas vistas previamente en visitas anteriores.
- utilizar datos que solo están disponibles del lado del cliente, como variables del datalayer y conversiones de objetivos del front-end.
Argumentos
Valor devuelto
Errores
Uso de parámetros en get_remote_visitor_data()
El métodoget_remote_visitor_data() le permite controlar qué datos se recuperan de un visitante. El mismo enfoque de filtrado funciona para objetivos, experimentos, variaciones y otros datos del visitante.
Por ejemplo, si desea segmentar a los usuarios que convirtieron en un objetivo durante sus últimas cinco visitas, puede establecer previous_visit_amount en 5 y conversions en true.
La flexibilidad mostrada en este ejemplo no se limita a los datos de objetivos. Puede usar el filtro para recuperar muchos comportamientos diferentes del visitante y ponerlos a disposición de la lógica de targeting y de informes en su aplicación Rust.
Campos de RemoteVisitorDataFilter
get_visitor_warehouse_audience()
Este método recupera los datos de audiencia asociados a un visitante en su integración de warehouse utilizando elvisitor_code especificado y, opcionalmente, una warehouse_key. La warehouse_key suele ser su ID de usuario interno. El parámetro custom_data_index corresponde al custom data de Kameleoon que Kameleoon utiliza para segmentar a sus visitantes.
Cuando la llamada tiene éxito, el SDK convierte la lista de audiencias devuelta en CustomData, la añade al visitante localmente y la pone disponible para fines de targeting. Para más información, consulte la documentación sobre targeting de warehouse.
Argumentos
Valor devuelto
Errores
set_legal_consent()
Debe utilizar este método para especificar si el visitante ha dado su consentimiento legal para utilizar datos personales. Establecerlegal_consent en false limita los tipos de datos que pueden incluirse en las solicitudes de seguimiento. Esto le ayuda a cumplir los requisitos legales y normativos al tiempo que gestiona los datos del visitante de forma responsable. Para más información, consulte la política de gestión del consentimiento.
Si proporciona un accesor de cookies, el SDK también actualiza las cookies del visitante según el estado del consentimiento.
Argumentos
Valor devuelto
Errores
Comportamiento de la revocación del consentimiento
Cuando llama aset_legal_consent() con legal_consent=false, el SDK no elimina la cookie kameleoonVisitorCode. En su lugar, deja de prolongar la fecha de expiración de la cookie, permitiendo que persista hasta que expire de forma natural.
Si sus requisitos de cumplimiento exigen la eliminación inmediata del archivo de cookie tras la exclusión, debe eliminarlo manualmente utilizando los métodos nativos de gestión de cookies de su framework. El SDK no eliminará el archivo automáticamente.
Objetivos y analítica de terceros
track_conversion()
- 📨 Envía datos de seguimiento a Kameleoon
visitor_code y goal_id. Además, este método también acepta los argumentos opcionales revenue, negative y metadata. El visitor_code suele ser idéntico al que se utilizó al activar el experimento.
Argumentos
Los valores de los metadatos son accesibles a través de las exportaciones de datos sin procesar y de la página de resultados.Si se proporciona el parámetro
metadata, Kameleoon utilizará estos valores especificados para la conversión actual en lugar de lo que se haya recopilado previamente con el método add_data(). Si se omite el parámetro, Kameleoon utilizará los últimos valores rastreados para esos CustomData antes de la conversión y dentro de la misma visita.Kameleoon solo considerará los valores de metadatos que se pasen explícitamente como parámetros al método track_conversion().En el ejemplo siguiente, Kameleoon asociará la conversión únicamente con el valor del custom data proporcionado explícitamente como parámetro (aquí: índice 5 con el valor ‘Amex Credit Card’).Valor devuelto
Errores
get_engine_tracking_code()
Kameleoon se integra con varias soluciones de analítica, incluidas Mixpanel, Google Analytics 4 y Segment. Para rastrear correctamente los experimentos del lado del servidor, llame al métodoget_engine_tracking_code() después de que el visitante active un experimento. El SDK devuelve comandos de cola JavaScript para los experimentos que el visitante activó durante los cinco segundos anteriores. Cuando inserta este código en la página, Engine.js procesa los comandos y envía los eventos de exposición a través de la integración de analítica activa.
Consulte la experimentación híbrida para más información sobre cómo implementar este método.
- Para utilizar esta funcionalidad, implemente tanto el SDK de Rust como Engine.js de Kameleoon. Como Engine.js solo se utiliza para el seguimiento en este flujo, puede instalar el tag asíncrono antes de la etiqueta de cierre
</body>. - Si solo quiere rastrear experimentos en Kameleoon y no necesita enviar eventos de exposición a herramientas de analítica de terceros, utilice el SDK de JavaScript / TypeScript. Esta opción funciona bien para plataformas de cómputo edge serverless. El SDK de JavaScript / TypeScript rastrea automáticamente las variaciones cuando se llama a
getVisitorCode, siempre que se añadan las asignaciones de experimentos correspondientes awindow.kameleoonQueue.. - Puede insertar el código de seguimiento devuelto directamente en una etiqueta
<script>HTML.
123456 y 234567 son IDs de experimento, y 7890 y 8901 son IDs de variación. En su implementación, el SDK genera estos valores en el código de seguimiento devuelto.Argumentos
Valor devuelto
Errores
Eventos
on_datafile_update()
El métodoon_datafile_update() le permite gestionar los eventos de actualización del datafile. Acepta un único parámetro, handler, que se llama cada vez que se actualiza la configuración a través de eventos de actualización del datafile mediante polling o streaming.
Argumentos
Tipos de datos
Esta sección enumera los tipos de datos Rust reexportados por el SDK enkameleoon_client::data.
ApplicationVersion
ApplicationVersion representa el número de versión semántica de su aplicación.
Browser
El conjunto de datosBrowser aquí almacenado puede utilizarse para filtrar los informes de experimentos y personalización por cualquier valor asociado a él.
Conversion
El conjunto de datosConversion aquí almacenado puede utilizarse para filtrar los informes de experimentos y personalización por cualquier objetivo asociado a él.
Cookie
Cookie contiene información sobre las cookies almacenadas en el dispositivo del visitante.
CustomData
CustomData permite la asociación de cualquier tipo de datos con cada visitante, lo que la convierte en una herramienta eficaz para condiciones de targeting en segmentos. Además, puede utilizarse como filtro o desglose en los informes de experimentos. Para más información sobre los datos personalizados, consulte este artículo.
Defina los tipos de custom data en la aplicación Kameleoon o en la API de datos y úselos desde el SDK.
-
Cada visitante solo puede tener un
CustomDatapara cadaindex(name) único. Añadir otroCustomDatacon el mismoindex(name) sustituirá al existente. -
El
indexdel custom data se puede encontrar en el panel de Custom Data en la columna “INDEX”. - Para evitar que el SDK envíe datos con el índice seleccionado a los servidores de Kameleoon por motivos de privacidad, active la opción: Usar estos datos solo localmente con fines de segmentación al crear el custom data.
-
Añadir una instancia de
CustomDatacreada con un nombre cuando la instancia del SDK no está inicializada o el nombre no está registrado, hará que los datos se ignoren.
Device
Puede utilizar los datos del dispositivo para filtrar los informes de experimentos y personalización por cualquier valor asociado.Geolocation
Geolocation contiene los detalles de geolocalización del visitante.
OperatingSystem
OperatingSystem contiene información sobre el sistema operativo del dispositivo del visitante.
PageView
Almacena eventos de visualización de páginas.El índice del referrer está disponible en la aplicación Kameleoon en la página de configuración del canal de adquisición. Tenga cuidado: el índice empieza en
0, por lo que el primer canal de adquisición que cree tendrá el ID 0, no 1.UniqueIdentifier
Si no añadeUniqueIdentifier para un visitante, se utiliza visitor_code como identificador único del visitante, lo que resulta útil para la experimentación cross-device. Cuando añade UniqueIdentifier(true), el SDK vincula los datos volcados con el visitante asociado al identificador especificado.
Esto puede resultar útil en situaciones en las que no puede acceder al visitor_code anónimo asignado originalmente a un visitante, pero sí dispone de un identificador interno conectado a ese visitante mediante la fusión de sesiones.
UserAgent
Los experimentos del lado del servidor son más propensos a verse afectados por el tráfico de bots que los del lado del cliente. Kameleoon utiliza la lista IAB/ABC International Spiders and Bots List para reconocer bots y arañas conocidos, y también utiliza el campoUserAgent para filtrar otro tráfico no deseado que podría distorsionar sus métricas de conversión. Para más información, consulte el artículo de ayuda sobre filtrado de bots.
Si utiliza bots internos, le recomendamos enviar el valor de user-agent curl/8.0 para excluirlos de la analítica.
Tipos devueltos
DataFile
ElDataFile contiene los detalles de configuración del SDK.
Puede ampliarse con información adicional si los clientes lo requieren. Si necesita más detalles, póngase en contacto con su Customer Success Manager.
FeatureFlag
FeatureFlag representa un conjunto de propiedades que definen un feature flag en sí mismo, por ejemplo, sus Variations, Rules, estado del entorno y otros detalles relacionados.
Puede ampliarse con información adicional si los clientes lo requieren. Si necesita más detalles, póngase en contacto con su Customer Success Manager.
Rule
Rule representa un conjunto de propiedades que definen una regla en sí misma, por ejemplo, sus Variations.
Puede ampliarse con información adicional si los clientes lo requieren. Si necesita más detalles, póngase en contacto con su Customer Success Manager.
Variation
Variation contiene información sobre la variación asignada al visitante o la variación por defecto cuando no existe una asignación específica.
Variationdescribe la variación asignada o por defecto, mientras queVariablecontiene los detalles de cada variable individual.idyexperiment_idpueden serNone, lo que indica una variación por defecto que no está ligada a una asignación específica de experimento.
Variable
Variable contiene información sobre una variable asociada a la variación asignada.
JsonValue
JsonValue representa el valor de una variable de variación en Rust.