Guide du développeur
Pour commencer
Ce guide aide à intégrer le SDK et à commencer à exécuter des expériences dans des applications Flutter. Ce tutoriel explique la configuration d’un simple A/B test pour modifier le nombre de produits recommandés en fonction de différentes variations.Installer le client Flutter
Pour installer le client Flutter de Kameleoon, déclarez une dépendance dans votre fichierpubspec.yaml :
Initialiser le client Kameleoon
Après avoir installé le SDK dans votre application et configuré une expérience côté serveur dans l’application Kameleoon, l’étape suivante consiste à créer le client Kameleoon. UnKameleoonClient est un objet singleton (par siteCode) qui agit comme un pont entre votre application et la plateforme Kameleoon. Il inclut toutes les méthodes et propriétés dont vous avez besoin pour exécuter une expérience.
KameleoonClientFactory.create() initialise le client, mais celui-ci n’est pas immédiatement prêt à l’emploi, car le client Kameleoon doit récupérer la configuration actuelle des feature flags (avec leur répartition de trafic) auprès d’un serveur distant Kameleoon. Cette récupération nécessite un accès réseau, qui n’est pas toujours disponible. Tant que le client Kameleoon n’est pas entièrement prêt, vous ne devez pas tenter d’exécuter d’autres méthodes du SDK Android de Kameleoon. Notez qu’une fois la première configuration des feature flags récupérée, elle est ensuite rafraîchie périodiquement, mais même si le rafraîchissement échoue pour une raison quelconque, le client Kameleoon continuera de fonctionner en utilisant la configuration précédente.
Vous pouvez utiliser la méthode isReadyAsync() pour vérifier si l’initialisation du client Kameleoon est terminée.
Alternativement, un callback d’aide peut encapsuler la logique du déclenchement de feature flag et de l’implémentation de la variation. La meilleure approche (isReadyAsync() ou callback) dépend des préférences et du cas d’usage exact. Utilisez isReadyAsync() lorsque le SDK est censé être prêt à l’emploi rapidement. Par exemple, isReadyAsync() est approprié lors de l’exécution d’un feature flag sur une boîte de dialogue à laquelle les utilisateurs n’accéderont probablement pas durant les premières secondes ou minutes de navigation dans l’application. Un callback est recommandé lorsqu’il existe une forte probabilité que le SDK soit encore en cours d’initialisation. Par exemple, un feature flag qui apparaît à l’écran au lancement de l’application doit utiliser un callback qui fait attendre l’application jusqu’à ce que le SDK soit prêt ou qu’un délai spécifié soit écoulé.
Il est de votre responsabilité, en tant que développeur de l’application, de vous assurer que la logique de votre code applicatif est correcte dans le contexte de l’A/B testing avec Kameleoon. Une bonne pratique est de toujours supposer que l’utilisateur de l’application peut être exclu du feature flag lorsque le client Kameleoon n’est pas encore prêt. Cette exclusion est facile à mettre en œuvre, car elle correspond à l’implémentation de la logique de la variation par défaut ou de référence. Les exemples de code du paragraphe suivant montrent des exemples de cette approche.
Activer un feature flag
Récupérer la configuration d’un flag
Pour implémenter un feature flag dans votre code, vous devez d’abord créer un feature flag dans votre compte Kameleoon. Pour déterminer si un feature flag est actif pour un utilisateur spécifique, vous devez récupérer sa configuration. Utilisez la méthodegetFeatureVariationKey() ou isFeatureActive() pour récupérer la configuration en fonction du featureKey.
Utilisez la méthode isFeatureActive() si vous souhaitez récupérer la configuration d’un feature flag simple qui n’a qu’un état ON ou OFF, par opposition à des feature flags plus complexes avec plusieurs variations ou options de ciblage.
La méthode getFeatureVariationKey() récupère la configuration d’une expérience de fonctionnalité avec plusieurs variations. Vous pouvez utiliser la méthode pour obtenir une clé de variation pour un utilisateur donné en fournissant le visitorCode et le featureKey comme arguments obligatoires.
Les feature flags peuvent avoir des variables associées qui sont utilisées pour personnaliser leur comportement. Pour récupérer ces variables, utilisez la méthode getFeatureVariationVariables() après avoir appelé getFeatureVariationKey(), car vous devez obtenir la variationKey pour l’utilisateur.
Pour vérifier si un feature flag est actif, il vous suffit d’utiliser une méthode. Choisissez
isFeatureFlagActive si vous voulez savoir si un feature flag est activé ou désactivé. Pour des scénarios plus complexes, comme la modification dynamique du comportement de la fonctionnalité, utilisez getFeatureFlagVariables.Ajouter des points de données pour cibler un utilisateur ou filtrer / décomposer les visites dans les rapports
Pour cibler un utilisateur, assurez-vous d’avoir ajouté les points de données pertinents à son profil avant de récupérer la variation de la fonctionnalité ou de vérifier si le flag est actif. Utilisez la méthodeaddData() pour ajouter ces points de données au profil de l’utilisateur.
Pour récupérer des points de données collectés sur d’autres appareils ou pour accéder aux données utilisateur passées (collectées côté client lors de l’utilisation de Kameleoon en mode hybride), utilisez la méthode getRemoteVisitorData(). Cette méthode récupère les données depuis les serveurs de manière asynchrone. Appelez getRemoteVisitorData() avant de récupérer la variation ou de vérifier si le feature flag est actif, car ces données peuvent être nécessaires pour assigner un utilisateur à une variation donnée d’un feature flag.
Pour en savoir plus sur les conditions de ciblage disponibles, consultez l’article détaillé sur le sujet.
De plus, les points de données que vous ajoutez au profil du visiteur seront disponibles lors de l’analyse de vos expériences, vous permettant de filtrer et de décomposer vos résultats par facteurs comme l’appareil et le navigateur. N’oubliez pas d’appeler la méthode flush() pour envoyer les données sauvegardées aux serveurs Kameleoon.
Si vous avez besoin de suivre des points de données supplémentaires au-delà de ce qui est collecté automatiquement, vous pouvez utiliser la fonctionnalité Custom Data de Kameleoon. Les Custom Data vous permettent de capturer et d’analyser des informations spécifiques pertinentes pour vos expériences. N’oubliez pas d’appeler la méthode flush() pour envoyer les données collectées aux serveurs Kameleoon pour analyse.
Suivre l’exposition aux flags et les conversions d’objectifs
Kameleoon suivra automatiquement l’exposition des visiteurs aux flags dès que vous appelez l’une de ces méthodes :getFeatureVariationKey()getFeatureVariable()isFeatureActive()
trackConversion() et fournir les paramètres visitorCode et goalId.
Utilisation d’une clé de bucketing personnalisée
Par défaut, Kameleoon utilise un ID de visiteur anonyme et unique (visitorCode) pour assigner les utilisateurs aux variations de feature flag. Cet ID est généralement généré et stocké sur l’appareil de l’utilisateur (dans un cookie de navigateur pour les SDK côté client et côté serveur, dans un stockage persistant pour les SDK mobiles). Cependant, dans certains scénarios, vous pouvez avoir besoin de garantir que tous les utilisateurs d’une même organisation voient la même variante d’un feature flag.
L’option Custom Bucketing Key vous permet de remplacer ce comportement par défaut en fournissant votre propre identifiant personnalisé pour le bucketing. Ce remplacement garantit que la logique d’assignation de Kameleoon utilise votre clé spécifiée au lieu du visitorCode par défaut.
Cas d’usage
L’utilisation d’une clé de bucketing personnalisée est essentielle pour maintenir la cohérence et l’exactitude de vos assignations de feature flag, en particulier dans ces situations :- Expériences au niveau du compte ou de l’organisation : pour les produits B2B ou les scénarios où vous souhaitez assigner tous les utilisateurs de la même organisation à la même variation, vous pouvez utiliser un identifiant comme un
accountId. Les clés de bucketing personnalisées sont cruciales pour les A/B tests de fonctionnalités qui impactent une équipe ou une entreprise entière.
Détails techniques
Lorsque vous configurez une clé de bucketing personnalisée pour un feature flag, vous fournissez à Kameleoon un identifiant spécifique provenant des données de votre application :- Fournir la clé personnalisée : vous fournissez votre identifiant personnalisé au SDK Kameleoon en utilisant la méthode
addData(). Dans cette méthode, vous passerez votre clé de bucketing personnalisée choisie en tant qu’objetCustomData. Ici,newVisitorCodefait référence à l’identifiant que vous souhaitez utiliser pour votre bucketing (par exemple, le nouveauuserIdouaccountId).
- Logique de bucketing : une fois qu’une clé de bucketing personnalisée est fournie via la méthode
addData(), tous les calculs de hachage pour l’assignation des utilisateurs aux variations utiliseront cenewVisitorCode(votre clé personnalisée) au lieu duvisitorCodepar défaut. L’utilisation dunewVisitorCodesignifie que la décision de bucketing est liée à votre identifiant personnalisé, garantissant des assignations cohérentes dans divers contextes où cet identifiant est présent. - Suivi des données et analyse : il est crucial de noter que tandis que le
newVisitorCode(votre clé personnalisée) est utilisé pour les décisions de bucketing, toutes les données ultérieures (événements de tracking et conversions, par exemple) sont envoyées et associées auvisitorCodeoriginal. Cette séparation garantit que vos analyses reflètent avec précision les parcours utilisateur individuels et les interactions dans le contexte plus large de votre expérience, même lorsque le bucketing est effectué à un niveau supérieur (comme un compte) ou sur plusieurs appareils/sessions. Vos données de visiteur originales restent intactes pour des rapports complets.
Exigences techniques
Pour utiliser efficacement une clé de bucketing personnalisée :- La clé doit être une
String. - Elle doit être unique pour l’entité que vous souhaitez bucketer (par exemple, si vous utilisez un
userId, l’ID de chaque utilisateur doit être unique). - La clé doit être disponible pour le SDK au moment exact où la décision de feature flag est évaluée pour cet utilisateur ou cette requête.
Conditions de ciblage
Les SDK Kameleoon prennent en charge une variété de conditions de ciblage prédéfinies que vous pouvez utiliser pour cibler les utilisateurs dans vos campagnes. Pour la liste des conditions supportées par ce SDK, consultez utiliser l’historique des visites pour cibler les utilisateurs. Vous pouvez également utiliser vos propres données externes pour cibler les utilisateurs.Journalisation
Le SDK génère des journaux pour refléter divers processus internes et problèmes.Niveaux de journalisation
Le SDK prend en charge la configuration de la limitation de la journalisation par niveau de journalisation.Gestion personnalisée des journaux
Le SDK écrit ses journaux dans la sortie de la console par défaut. Ce comportement peut être remplacé.La limitation de la journalisation par niveau est effectuée séparément de la logique de gestion des journaux.
Gestion des erreurs
La gestion des erreurs est considérée comme une bonne pratique pour rendre votre application plus stable et éviter les problèmes techniques. La plupart des méthodesKameleoonClient peuvent lever une erreur KameleoonException.
Comme il peut être difficile de patcher la version du SDK côté client Android, il est recommandé d’encadrer chaque méthode du SDK dans une clause try qui intercepte les types d’erreurs KameleoonException et Throwable afin d’éviter d’autres erreurs fatales.
Par exemple :
Référence
Voici la documentation de référence complète du SDK Flutter.Initialisation
Une fois que vous avez installé le SDK dans votre application, vous devez initialiser Kameleoon. Toutes les interactions de votre application avec le SDK, telles que le déclenchement d’une expérience, sont accomplies en utilisant cet objet client Kameleoon.create()
Appelez cette méthode avant toute autre pour initialiser le SDK. Cette méthode se trouve dansKameleoonClientFactory. Votre application effectue toutes les interactions avec le SDK en utilisant l’objet KameleoonClient résultant que cette méthode crée.
Vous pouvez personnaliser le comportement du SDK (par exemple, l’environnement, les identifiants, etc.) en fournissant un objet de configuration. Sinon, le SDK tente de trouver votre fichier de configuration et l’utilise à la place.
Arguments
Valeur de retour
Exceptions levées
isReadyAsync()
Pour les SDK mobiles, le client Kameleoon ne peut pas s’initialiser immédiatement car il doit effectuer un appel serveur pour récupérer la configuration actuelle des feature flags actifs. UtilisezisReadyAsync() pour vérifier si le SDK est prêt en appelant cette méthode avant de déclencher tout feature flag.
Alternativement, vous pouvez utiliser un callback (voir la méthode runWhenReady() pour plus de détails).
Valeur de retour
runWhenReady()
Pour les SDK mobiles, le client Kameleoon ne peut pas s’initialiser immédiatement car il doit effectuer un appel serveur pour récupérer la configuration actuelle de tous les feature flags actifs. Utilisez la méthoderunWhenReady() de la classe KameleoonClient pour passer un callback qui sera exécuté dès que le SDK sera prêt à l’emploi. Vous pouvez également définir un délai d’attente.
Le callback donné en premier argument de cette méthode doit être une instance d’un type Function(bool ready). Si ready est égal à true, le client Kameleoon est prêt et doit contenir du code qui déclenche un feature flag et implémente les variations. Sinon, le délai spécifié sera atteint avant l’initialisation du client. Le callback doit contenir du code qui implémente la variation de référence, car l’utilisateur sera exclu du feature flag si un timeout se produit.
Arguments
Feature flags et variations
isFeatureActive()
- 📨 Envoie des données de tracking à Kameleoon
featureKey comme argument requis pour vérifier si la fonctionnalité spécifiée sera active pour un visiteur.
Si le visiteur n’a jamais été associé à ce feature flag, la méthode renvoie une valeur booléenne aléatoire (true si la fonctionnalité doit être affichée au visiteur, sinon false). Si le visiteur est déjà enregistré avec ce feature flag, cette méthode renvoie la valeur précédente du feature flag.
Assurez-vous de configurer une gestion appropriée des erreurs comme indiqué dans l’exemple de code pour intercepter les exceptions potentielles.
Kameleoon utilise le tracking pour compter les sessions et les visiteurs lorsque vous appelez certaines méthodes, telles que
isFeatureActive(), getVariation() ou getVariations().Utilisez la valeur par défaut true pour le paramètre track lorsque vous exposez les visiteurs à une variation et avez besoin de les compter. Définissez le paramètre track sur false uniquement si vous appelez ces méthodes avant d’exposer les visiteurs.Par exemple, si vous appelez getVariations() pour récupérer toutes les variations avant d’exposer les visiteurs, définissez le paramètre track sur false. Ce paramètre empêche Kameleoon de compter prématurément une session. Vous pouvez ensuite déclencher le tracking ultérieurement lorsque vous exposez explicitement le visiteur.Kameleoon envoie les données de tracking chaque seconde par défaut. Vous pouvez configurer cet intervalle jusqu’à cinq secondes en utilisant l’option de configuration de l’intervalle de tracking. Kameleoon regroupe les événements de tracking en une seule session tant que l’intervalle entre les événements est inférieur à 30 minutes. Si plus de 30 minutes s’écoulent entre les événements de tracking, Kameleoon compte les événements comme des sessions distinctes. Une visite apparaît dans vos rapports 30 minutes après le dernier événement enregistré dans la session.Arguments
Valeur de retour
Exceptions levées
getVariation()
- 📨 Envoie des données de tracking à Kameleoon (selon le paramètre
track)
Variation attribuée à un visiteur donné pour un feature flag spécifique.
Cette méthode prend un visitorCode et un featureKey comme arguments obligatoires. L’argument track est optionnel et vaut true par défaut.
Elle renvoie la Variation attribuée au visiteur. Si le visiteur n’est associé à aucune règle de feature flag, la méthode renvoie la Variation par défaut pour le feature flag donné.
Assurez-vous d’implémenter une gestion appropriée des erreurs dans votre code pour gérer les exceptions potentielles.
La variation par défaut fait référence à la variation attribuée à un visiteur lorsqu’il ne correspond à aucune règle de livraison prédéfinie pour un feature flag. En d’autres termes, c’est la variation de repli appliquée à tous les utilisateurs qui ne sont pas ciblés par des règles spécifiques. Elle est représentée par la variation dans la section “Then, for everyone else…” dans une interface de gestion.
Arguments
Valeur de retour
Exceptions levées
getVariations()
- 📨 Envoie des données de tracking à Kameleoon (selon le paramètre
track)
Variation attribués à un visiteur donné pour tous les feature flags.
Cette méthode itère sur tous les feature flags disponibles et renvoie la Variation attribuée pour chaque flag associé au visiteur spécifié. Elle prend onlyActive et track comme arguments optionnels.
- Si
onlyActiveest défini surtrue, la méthodegetVariations()renverra les variations des feature flags à condition que l’utilisateur ne soit pas bucketé avec la variationoff. - Le paramètre
trackcontrôle si la méthode suivra ou non les assignations de variation. Par défaut, il est défini surtrue. S’il est défini surfalse, le suivi sera désactivé.
Variation correspondantes comme valeurs. Si aucune variation n’est attribuée pour un feature flag, la méthode renvoie la Variation par défaut pour ce flag.
Une gestion appropriée des erreurs doit être implémentée pour gérer les exceptions potentielles.
La variation par défaut fait référence à la variation attribuée à un visiteur lorsqu’il ne correspond à aucune règle de livraison prédéfinie pour un feature flag. En d’autres termes, c’est la variation de repli appliquée à tous les utilisateurs qui ne sont pas ciblés par des règles spécifiques. Elle est représentée par la variation dans la section “Then, for everyone else…” dans une interface de gestion.
Arguments
Valeur de retour
Exceptions levées
getFeatureList()
Renvoie une liste de clés de feature flags actuellement disponibles pour le SDK.Valeur de retour
getDataFile()
Renvoie la configuration actuelle du SDK sous forme d’objetDataFile.
Valeur de retour
Erreurs levées
setForcedVariation()
La méthode vous permet d’assigner par programmation uneVariation spécifique à un utilisateur, en contournant le processus d’évaluation standard. Cela est particulièrement utile pour les expériences contrôlées où la logique d’évaluation habituelle n’est pas requise ou doit être ignorée. Cela peut également être utile dans des scénarios tels que le débogage ou les tests personnalisés.
Lorsqu’une variation est forcée, elle remplace la logique d’évaluation en temps réel de Kameleoon. Les processus tels que la segmentation, les conditions de ciblage et les calculs algorithmiques sont ignorés. Pour préserver la segmentation et les conditions de ciblage pendant une expérience, définissez plutôt forceTargeting=false.
Une variation forcée est traitée de la même manière qu’une variation évaluée. Elle est suivie dans les analyses et stockée dans le contexte utilisateur comme toute variation standard évaluée, garantissant la cohérence dans les rapports.
La méthode peut lever des exceptions dans certaines conditions (par exemple, paramètres invalides, contexte utilisateur ou problèmes internes). Une gestion appropriée des exceptions est essentielle pour garantir que votre application reste stable et résiliente.
Arguments
Erreurs levées
Dans la plupart des cas, seule l’erreur de base,
KameleoonException, doit être gérée, comme le montre l’exemple. Cependant, si différents types d’erreurs nécessitent une réponse, gérez chacune séparément en fonction des exigences spécifiques. De plus, pour une fiabilité accrue, les erreurs de langage général peuvent être gérées en incluant Exception.evaluateAudiences()
- 📨 Envoie des données de tracking à Kameleoon
evaluateAudiences() doit être appelée après que toutes les données pertinentes du visiteur aient été définies ou mises à jour, et juste avant d’obtenir une variation de fonctionnalité ou de vérifier un feature flag. Cette approche garantit que le visiteur est évalué par rapport aux données les plus récentes disponibles, permettant une attribution d’audience précise basée sur tous les critères.
Après avoir appelé cette méthode, vous pouvez effectuer une analyse détaillée des performances des segments dans Audiences Explorer.
Erreurs levées
Dans la plupart des cas, seule l’erreur de base,
KameleoonException, doit être gérée, comme le montre l’exemple. Cependant, si différents types d’erreurs nécessitent une réponse, gérez chacune séparément en fonction des exigences spécifiques. De plus, pour une fiabilité accrue, les erreurs de langage général peuvent être gérées en incluant Exception.Objectifs
trackConversion()
- 📨 Envoie des données de tracking à Kameleoon
goalId pour suivre la conversion sur cet objectif particulier. De plus, cette méthode accepte également les arguments revenue, metadata et negative.
La méthode trackConversion() ne renvoie aucune valeur. Cette méthode est non bloquante car l’appel serveur est effectué de manière asynchrone.
Arguments
les valeurs de metadata sont accessibles via les exports de données brutes et la page de résultats.Si le paramètre
metadata est fourni, Kameleoon utilisera ces valeurs spécifiées pour la conversion actuelle au lieu de ce qui a été précédemment collecté à l’aide de la méthode addData(). Si le paramètre est omis, Kameleoon utilisera les dernières valeurs suivies pour ces CustomData avant la conversion et au cours de la même visite.Kameleoon ne prendra en compte que les valeurs de métadonnées qui sont explicitement passées comme paramètres à la méthode trackConversion().Dans l’exemple ci-dessous, Kameleoon associera la conversion uniquement à la valeur de custom data explicitement fournie en paramètre (ici : index 5 avec la valeur ‘Amex Credit Card’).Événements
onUpdateConfiguration()
Cette méthode s’appelait auparavant
updateConfigurationHandler, qui a été supprimée dans la version 3.0.0 du SDK.onUpdateConfiguration() vous permet de gérer l’événement lorsque la configuration a mis à jour les données. Elle prend un paramètre d’entrée, handler. Le handler qui sera appelé lorsque la configuration est mise à jour à l’aide d’un événement de configuration en temps réel.
Arguments
Données du visiteur
getVisitorCode()
Renvoie le code visiteur unique utilisé dans le SDK.Valeur de retour
addData()
La méthodeaddData() ajoute des données de ciblage au stockage afin que d’autres méthodes puissent utiliser les données pour décider si elles doivent cibler ou non le visiteur actuel.
La méthode addData() ne renvoie aucune valeur et n’interagit pas elle-même avec les serveurs back-end de Kameleoon. Au lieu de cela, toutes les données déclarées sont sauvegardées pour une transmission future via la méthode flush(). Cette approche réduit le nombre d’appels serveur effectués, car les données sont généralement regroupées en un seul appel serveur déclenché par flush().
La méthode trackConversion() envoie également toutes les données précédemment associées, tout comme flush(). Il en va de même pour les méthodes getVariation() et getVariations() si une règle d’expérimentation est déclenchée.
Arguments
Exceptions
flush()
- 📨 Envoie des données de tracking à Kameleoon
addData() ne sont pas envoyées immédiatement au serveur. Elles sont stockées et accumulées jusqu’à ce qu’elles soient envoyées automatiquement par la méthode trackConversion(), ou envoyées manuellement en appelant la méthode flush(), donnant le contrôle sur le moment exact où les données sont envoyées aux serveurs. Par exemple, si la méthode addData() est appelée une douzaine de fois, envoyer des données au serveur après chaque appel à addData() gaspillerait des ressources. Appelez flush() une seule fois à la fin.
La méthode flush() ne renvoie aucune valeur. Cette méthode est non bloquante car l’appel serveur est effectué de manière asynchrone.
Exceptions levées
getRemoteData()
Cette méthode s’appelait auparavant
retrieveDataFromRemoteSource, qui a été supprimée dans la version 3.0.0 du SDK.siteCode actif et de l’argument key (ou du visitorCode actif si la key est omise). Le visitorCode et le siteCode sont spécifiés dans KameleoonClientFactory.create(). Les données peuvent être stockées rapidement et facilement sur des serveurs distants hautement évolutifs à l’aide de la Data API de Kameleoon. L’application peut ensuite récupérer les données en utilisant cette méthode.
Notez que comme un appel serveur est requis, ce mécanisme est asynchrone.
Arguments
Valeur de retour
getRemoteVisitorData()
getRemoteVisitorData() est une méthode asynchrone pour récupérer les données de visites Kameleoon pour le visitorCode depuis la Data API de Kameleoon. Cette méthode ajoute les données au stockage pour que d’autres méthodes les utilisent lors de la prise de décisions de ciblage.
Les données obtenues via cette méthode jouent un rôle important lorsque vous souhaitez :
- utiliser des données collectées sur d’autres appareils.
- accéder à l’historique d’un utilisateur, comme des custom data collectées lors de visites précédentes.
Arguments
Valeur de retour
Exceptions levées
Utiliser les paramètres dans getRemoteVisitorData()
La méthodegetRemoteVisitorData() offre de la flexibilité en vous permettant de définir divers paramètres lors de la récupération de données sur les visiteurs. Que vous cibliez en fonction d’objectifs, d’expériences ou de variations, la même approche s’applique à tous les types de données.
Par exemple, supposons que vous souhaitiez récupérer des données sur les visiteurs qui ont accompli un objectif “Order transaction”. Vous pouvez spécifier des paramètres dans la méthode getRemoteVisitorData() pour affiner votre ciblage. Par exemple, si vous voulez cibler uniquement les utilisateurs qui ont converti sur l’objectif lors de leurs cinq dernières visites, vous pouvez définir le paramètre previousVisitAmount à 5 et conversions à true.
La flexibilité illustrée dans cet exemple ne se limite pas aux données d’objectifs. Vous pouvez utiliser des paramètres dans la méthode getRemoteVisitorData() pour récupérer des données sur une variété de comportements des visiteurs.
Voici la liste des options disponibles pour
RemoteVisitorDataFilter :getVisitorWarehouseAudience()
Récupère toutes les données d’audience associées au visiteur dans votre data warehouse. Le paramètre optionnelwarehouseKey est généralement votre ID utilisateur interne. Le paramètre customDataIndex correspond à la custom data Kameleoon que Kameleoon utilise pour cibler vos visiteurs. Vous pouvez consulter la documentation sur le ciblage warehouse pour plus de détails. La méthode renvoie le résultat sous forme d’objet CustomData, confirmant que les données ont été ajoutées au visiteur et sont disponibles à des fins de ciblage.
Comme un appel serveur est requis, ce mécanisme est asynchrone.
Arguments
Valeur de retour
Exceptions levées
setLegalConsent()
Vous devez utiliser cette méthode pour spécifier si le visiteur a donné son consentement légal pour l’utilisation de ses données personnelles. Définir le paramètreconsent sur false limite les types de données que vous pouvez inclure dans les requêtes de tracking. Cette méthode vous aide à respecter les exigences légales et réglementaires tout en gérant de manière responsable les données des visiteurs. Vous pouvez trouver plus d’informations sur les données personnelles dans la politique de gestion du consentement.
Arguments
Exceptions levées
Comportement de révocation du consentement
Ceci est applicable uniquement au SDK Flutter Web.
setLegalConsent() avec consent=false, le SDK ne supprime pas le cookie kameleoonVisitorCode. Au lieu de cela, il cesse de prolonger la date d’expiration du cookie, permettant au cookie de persister jusqu’à son expiration naturelle.
Si vos exigences de conformité exigent la suppression immédiate du fichier cookie lors du désengagement, vous devez le supprimer manuellement en utilisant les méthodes natives de gestion des cookies de votre framework. Le SDK ne supprimera pas le fichier automatiquement.
Types de données
Cette section liste les typesData supportés par Kameleoon. Plusieurs types de données standard sont fournis, ainsi que le type CustomData pour définir des types de données personnalisés.
Conversion
L’ensemble de donnéesConversion stocké ici peut être utilisé pour filtrer les rapports d’expérience et de personnalisation par tout objectif qui lui est associé.
CustomData
Ce type de données est disponible pour les deux types de SDK : Mobile et Web.
CustomData permet d’associer facilement tout type de données à chaque visiteur. CustomData peut ensuite être utilisé comme condition de ciblage dans des segments ou comme filtre/décomposition dans les rapports d’expériences.
Pour en savoir plus sur les custom data, veuillez consulter cet article.
- Chaque visiteur ne peut avoir qu’une seule
CustomDatapour chaqueindexunique. Ajouter une autreCustomDataavec le mêmeindexremplacera laCustomDataexistante. - L’
indexde la custom data peut être trouvé dans le dashboard Custom Data sous la colonne « INDEX ». - Pour empêcher le SDK d’envoyer des données avec l’index sélectionné aux serveurs Kameleoon pour des raisons de confidentialité, activez l’option Use this data only locally for targeting purposes lors de la création de la custom data.
- Ajouter une instance de
CustomDatacréée avec un nom alors que la configuration de l’instance du SDK n’est pas à jour ou que le nom n’est pas enregistré entraînera l’ignorance des données.
Device
Ce type de données est disponible pour les deux types de SDK : Mobile et Web.
Geolocation
Ce type de données est disponible pour les deux types de SDK : Mobile et Web.
Geolocation contient les détails de géolocalisation du visiteur.
Browser
Ce type de données est disponible uniquement pour le Web SDK
Browser stocké ici peut être utilisé pour filtrer les rapports d’expériences et de personnalisation par toute valeur qui lui est associée.
PageView
Ce type de données est disponible uniquement pour les SDK Web.
L’index (ID) du référent est disponible dans la page de configuration du canal d’acquisition dans l’application Kameleoon. Attention : cet index commence à 0, donc le premier canal d’acquisition que vous créez pour un site donné aura l’ID 0, et non 1.
OperatingSystem
Ce type de données est disponible uniquement pour les SDK Web.
OperatingSystem contient des informations sur le système d’exploitation de l’appareil du visiteur.
Cookie
Ce type de données est disponible uniquement pour les SDK Web.
Cookie contient des informations sur le cookie stocké sur l’appareil du visiteur.
Types renvoyés
DataFile
LeDataFile contient les détails de configuration du SDK.
Il peut être étendu avec des informations supplémentaires si les clients le demandent. Si vous avez besoin de plus de détails, veuillez contacter votre Customer Success Manager.
FeatureFlag
LeFeatureFlag représente un ensemble de propriétés qui définissent un feature flag lui-même — par exemple, ses Variations, ses Rules, son statut d’environnement et d’autres détails connexes.
Il peut être étendu avec des informations supplémentaires si les clients le demandent. Si vous avez besoin de plus de détails, veuillez contacter votre Customer Success Manager.
Rule
LeRule représente un ensemble de propriétés qui définissent une règle elle-même — par exemple, ses Variations.
Il peut être étendu avec des informations supplémentaires si les clients le demandent. Si vous avez besoin de plus de détails, veuillez contacter votre Customer Success Manager.
Variation
Variation contient des informations sur la variation attribuée au visiteur (ou la variation par défaut, s’il n’existe aucune attribution spécifique).
- L’objet
Variationfournit des détails sur la variation attribuée et son expérience associée, tandis que l’objetVariablecontient des détails spécifiques sur chaque variable dans une variation. - Assurez-vous que votre code gère le cas où
idouexperimentIdpeut être-1, indiquant une variation par défaut. - La map
variablespeut être vide si aucune variable n’est associée à la variation.
Variable
Variable contient des informations sur une variable associée à la variation attribuée.
Méthodes dépréciées
isReady()
Pour les SDK mobiles, le client Kameleoon ne peut pas s’initialiser immédiatement car il doit effectuer un appel serveur pour récupérer la configuration actuelle des feature flags actifs. UtilisezisReady() pour vérifier si le SDK est prêt en appelant cette méthode avant de déclencher tout feature flag.
Alternativement, vous pouvez utiliser un callback (voir la méthode runWhenReady() pour plus de détails).
Valeur de retour
getFeatureVariationKey()
- 📨 Envoie des données de tracking à Kameleoon
Utilisez
getVariation() à la place.featureKey comme argument requis pour récupérer la clé de variation pour l’utilisateur spécifié.
Si le visiteur n’a jamais été associé à ce feature flag, le SDK renvoie une clé de variation attribuée aléatoirement (selon les règles du feature flag). Si le visiteur est déjà enregistré avec ce feature flag, cette méthode renvoie la clé de variation précédente. Si l’utilisateur ne correspond à aucune des règles, la valeur par défaut sera renvoyée, qui est définie dans le compte de votre client.
Assurez-vous de configurer une gestion appropriée des erreurs comme indiqué dans l’exemple de code pour intercepter les exceptions potentielles.
Arguments
Valeur de retour
Exceptions levées
getActiveFeatures()
- Utilisez
getVariations()à la place. - Anciennement appelée
getFeatureListForVisitorCode, qui a été supprimée dans la version4.0.0du SDK.
getActiveFeatures récupère des informations sur les feature flags actifs disponibles pour le visiteur.
Valeur de retour
getFeatureVariable()
- 📨 Envoie des données de tracking à Kameleoon
- Utilisez
getVariation()à la place. - Cette méthode s’appelait auparavant
obtainFeatureVariable, qui a été supprimée dans la version3.0.0du SDK.
featureKey et un variableKey comme arguments requis.
Si le visiteur n’a jamais été associé au featureKey, le SDK renvoie une valeur de variable attribuée aléatoirement pour la clé de variation spécifiée (selon les règles du feature flag). Si le visiteur est déjà enregistré avec ce feature flag, cette méthode renvoie la valeur de variable pour la variation précédemment enregistrée. Si l’utilisateur ne correspond à aucune des règles, la valeur de variable par défaut est renvoyée.
Assurez-vous de configurer une gestion appropriée des erreurs comme indiqué dans l’exemple de code pour intercepter les exceptions potentielles.
Arguments
Valeur de retour
Exceptions levées
getFeatureVariationVariables()
- Utilisez
getVariation()à la place. - Cette méthode s’appelait auparavant
getFeatureAllVariables, qui a été supprimée dans la version4.0.0du SDK.
featureKey. Elle renvoie les données sous forme de type Map<String, Object>, telles que définies dans l’application Kameleoon. Elle lève une exception (FeatureNotFound) si la fonctionnalité demandée n’a pas été trouvée dans la configuration interne du SDK.