ExperimentContext dans votre composant ACUL sous le nom d’experiment.
L’injection se produit uniquement sur les écrans pour lesquels vous avez activé cette option. Vous l’activez écran par écran en ajoutant "experiment" au tableau context_configuration de cet écran.
Pour qu’un écran reçoive le contexte de l’expérience, effectuez une requête PATCH vers le point de terminaison /api/v2/prompts/{prompt}/screen/{screen}/rendering.
Example
{prompt} par le nom du prompt (par exemple, login) et {screen} par le nom de l’écran (par exemple, login).
La résolution de l’expérience et l’enrichissement du journal du tenant s’exécutent toujours, qu’un écran ait fait l’objet d’une activation explicite ou non. L’activation explicite détermine uniquement si les propriétés
experiment sont transmises à votre composant ACUL. Il s’agit d’une mesure de minimisation des données : n’activez pas explicitement les écrans qui n’ont pas besoin du contexte de l’expérience.La structure du contexte de l’expérience
window.universal_login_context.experiment.
Pendant la période Bêta d’Experiment Center, le SDK ACUL n’ajoute pas automatiquement la propriété
experiment et celle-ci doit être définie à l’aide de window.universal_login_context.experiment.experiment est null.
Le paramètre config contient la configuration complète fusionnée pour la variation attribuée. Experiment Center prend les paramètres de référence du feature flag et y fusionne les surcharges de la variation attribuée. Chaque paramètre défini dans le feature flag a toujours une valeur dans config.
Par exemple, si votre feature flag a un paramètre button_label avec une valeur de référence de "Sign in" et que la variation attribuée la remplace par "Continue", alors config.button_label.value est "Continue".
Pour la variation témoin (sans surcharge), config.button_label.value est "Sign in".
Lire la valeur d’un paramètre
config[paramName].value :
?.) partout. La prop experiment est undefined lorsqu’aucune expérience n’est active.
Utiliser is_control
is_control est true lorsque l’utilisateur fait partie du groupe témoin (il a reçu la version de référence, sans aucune surcharge appliquée). Utilisez-le lorsque vous devez repérer les utilisateurs qui ont vu l’expérience non modifiée, ou si vous voulez ignorer le traitement optionnel pour les utilisateurs du groupe témoin.
config.my_param.value) plutôt que is_control.
Les vérifications fondées sur les paramètres sont plus faciles à lire et fonctionnent correctement, même si vous changez plus tard la variation utilisée comme contrôle statistique dans une autre expérience.
Exemple : expérience sur les variantes de libellé
button_label: "Sign in")
Variation de traitement :
?? "Sign in" à la dernière ligne gère le cas où aucune expérimentation n’est active (auquel cas experiment vaut undefined et config?.button_label?.value renvoie undefined). Si vous préférez, vous pouvez utiliser une vérification distincte de null :
Exemple : déploiement progressif d’une fonctionnalité booléenne
=== true (plutôt qu’un simple test de vérité) est intentionnel : il garantit que la bannière ne s’affiche que lorsque le paramètre vaut explicitement true, et non lorsque experiment est undefined ou que config n’est pas défini.
Dépannage
experiment est undefined dans trois situations :
- Aucune expérience n’est actuellement active pour le tenant
- L’écran n’a pas été explicitement activé au moyen de
context_configuration - Experiment Center n’est pas activé pour le tenant
experiment peut être undefined. La méthode la plus sûre :
experiment est présente. Le code qui suppose que experiment est définie produira des erreurs lorsqu’aucune expérience n’est en cours, ce qui est le cas la plupart du temps.