Passer au contenu principal

Vue d’ensemble

Les SDK de Kameleoon vous permettent de mener des expériences pour ameliorer l’experience utilisateur dans les applications web et mobiles. D’apres le schema ci-dessous, l’implementation d’une expérience avec un SDK Kameleoon comporte trois etapes : initialisation, identification de l’utilisateur et affectation des attributs, et attribution et suivi des variations. Cet article fournira une explication detaillee de chacune de ces etapes.
SDK Flow
Les methodes (et leurs noms) decrites dans chaque etape ci-dessous auront des syntaxes differentes, en fonction de la convention du langage particulier du SDK.

1. Initialisation

Lors de l’initialisation, le SDK recupere toute configuration mise a jour des feature flags en utilisant le Content Delivery Network de Cloudflare via deux methodes : le Polling, une option par defaut ou le SDK envoie regulierement une requete au CDN (l’intervalle par defaut est de 60 minutes) pour obtenir la configuration la plus recente, et le Streaming, une option premium ou le SDK Kameleoon est notifie en temps reel des changements de configuration via des server-sent events (SSE). Une fois les configurations recuperees, le SDK commence l’attribution du visitor code ainsi que les variations et le processus de ciblage. Pour plus d’informations, consultez les considerations techniques.
Comme le montre le schema, pendant le Streaming, la methode on_configuration_update (rappelez-vous, le nom varie selon les SDK) vous permet de gerer l’evenement lorsque la configuration a ete mise a jour. Elle prend un parametre d’entree handler. Le handler sera appele lorsque la configuration est mise a jour a l’aide d’un evenement de configuration en temps reel. Pour plus d’informations, veuillez consulter les SDK individuels Web et Mobile.

2. Identification de l’utilisateur et affectation des attributs

A ce stade, pour calculer la variation, le visitor code est attribue et les attributs utilisateur sont integres :
  • 1. Attribution du visitor code : L’initialisation offre la possibilite d’attribuer un ID unique a un visiteur. Pour les SDK web, la methode getVisitorCode() recupere un visitor code depuis le cookie des en-tetes de requete. Si le visitor code n’existe pas, la methode genere un visitor code aleatoire et le stocke dans un cookie d’en-tete de reponse. Pour les SDK mobiles, le visitor code est obtenu depuis la memoire de l’appareil mobile.
  • 2. Ajout d’attributs utilisateur a des fins de ciblage : Les conditions de ciblage de Kameleoon permettent d’activer des feature flags en fonction des attributs utilisateur. Pour utiliser ces conditions efficacement, definissez les valeurs a l’aide de la methode addData() et/ou getRemoteVisitorData() pour recuperer et utiliser des criteres specifiques. Les attributs utilisateur sont ensuite stockes dans la memoire du serveur pour les SDK cote serveur, dans le local storage du navigateur pour les SDK cote client, ou dans la memoire de l’appareil pour les SDK mobiles. Pour plus de details, consultez l’article sur le stockage de donnees.
  • 3. Ajout de donnees externes a des fins de ciblage : Les donnees externes, telles que les preferences utilisateur ou les donnees CRM, peuvent etre stockees a l’aide de la Data API (une API REST) via l’endpoint POST. Ces donnees sont ensuite recuperees dans le SDK en utilisant la methode getRemoteData().

3. Attribution et suivi des variations

Dans les SDK Kameleoon, la methode getVariation() (isFeatureActive() / getVariations()) recupere la configuration d’une expérience de feature qui contient plusieurs variations. Elle peut etre utilisee pour obtenir la ou les cles de variation attribuees a un utilisateur specifique. Lorsqu’un visiteur remplit toutes les conditions de ciblage et les regles d’exposition pour le feature flag, Kameleoon utilise une fonction de hachage pour affecter le visiteur a une variation puis envoie un evenement d’expérience au service de suivi. Si le visiteur ne remplit pas les conditions, un evenement d’activite est envoye pour indiquer que l’utilisateur est actif sur l’application web ou mobile. De plus, la methode flush() peut etre utilisee pour envoyer toutes les autres donnees stockees au service de suivi.

4. Documents utiles

Pour les integrations specifiques a chaque langage, veuillez vous referer aux articles SDK Web et SDK Mobile : SDK Web SDK Mobile Ressources supplementaires