Use los SDKs del lado del cliente correspondientes al framework preferido para ejecutar experimentos o feature flags. Si el módulo Feature Experimentation no está disponible o si no se desea instalar el SDK, siga la solución descrita en este artículo para ejecutar experimentos mediante la Activation API.
Contexto
Los frameworks modernos del lado del cliente en JavaScript (React, Angular, Vue, etc.) gestionan el árbol DOM y sus elementos (a menudo implementando un DOM virtual). Esta gestión interna dificulta la implementación de tests en cliente fuera del framework concreto, ya que las manipulaciones del DOM entran en conflicto con el comportamiento del framework. Las modificaciones externas a los elementos o a la lógica suelen ser sobrescritas. Existen soluciones para estos problemas, como el uso de Mutation Observers del DOM, pero el código externo debe manejarlas con cuidado. En lugar de utilizar un enfoque externo intrusivo, implemente las variaciones directamente en el código existente de React, Angular o Vue y dispare los experimentos de forma programática. Esta lógica refleja el uso de un SDK: el motor frontend de Kameleoon actúa como el equivalente del SDK de JavaScript.Las técnicas descritas en este artículo requieren volver a desplegar el código fuente JS para lanzar experimentos o personalizaciones. Aunque este enfoque simplifica el desarrollo, carece de la flexibilidad de las metodologías estándar de Kameleoon, que permiten lanzar campañas sin despliegues por parte de IT. Un desarrollador con acceso al repositorio debe realizar la implementación.La implementación externa de experimentos JS (mediante el código inyectado por Kameleoon) o una combinación de ambos enfoques sigue siendo posible.
El proceso de instalación coincide con el de un sitio web estándar: añadir un archivo JavaScript externo de la aplicación que contiene el motor de Kameleoon y la Activation API.
Creación y configuración del experimento
Los pasos coinciden con los de los experimentos A/B estándar (creación de variaciones, selección de objetivos e integración de analítica). Tenga en cuenta los siguientes requisitos:- Cree un experimento usando el editor de código.
- Seleccione la condición de segmentación Explicit trigger para disparar el experimento manualmente mediante la API.
Deje vacío el código JS de las variaciones en la mayoría de los casos. No obstante, incluir datos JSON en las variaciones resulta útil para recuperar parámetros en el código de la aplicación; estos parámetros pueden actualizarse en la interfaz de Kameleoon sin necesidad de nuevos despliegues.
Código de ejemplo para disparar un experimento
El siguiente código de ejemplo muestra cómo disparar un experimento y obtener la variación asociada para el usuario actual.Kameleoon.API.Experiments.getAll() no incluye experimentos que no se hayan lanzado desde la interfaz. Esta configuración permite preparar los despliegues de código y lanzar los experimentos de forma independiente: normalmente, los equipos de IT planifican los despliegues mientras los product owners programan los lanzamientos.