Avant de commencer
- Un projet Kameleoon. Chaque SDK a besoin d’un site code pour se connecter à votre compte Kameleoon. Si vous n’en avez pas encore, ajoutez un nouveau projet et choisissez l’option SDK lorsque vous y êtes invité.
- Des identifiants API pour les SDK côté serveur. Les SDK côté serveur s’authentifient avec un client ID et un client secret. Retrouvez-les ou générez-les dans Identifiants API. Les SDK côté client et mobiles s’authentifient avec le seul site code de votre projet.
- Un feature flag pour vos tests. Créez un feature flag dans votre compte afin d’avoir quelque chose à vérifier une fois le client initialisé.
Choisir votre SDK
Sélectionnez votre plateforme, puis votre langage. Chaque carte renvoie directement aux étapes d’installation et d’initialisation du SDK concerné.Web
JavaScript/TypeScript
SDK côté client indépendant du framework, pour toute application web. Installez-le avec le SDK Installer, ou avec une seule balise
<script> sans étape de build.React
Liaisons React avec des hooks et un composant provider. Installez-le avec le SDK Installer.
Côté serveur
Node.js
SDK côté serveur pour Node.js, avec configuration manuelle pour Deno. Installez-le avec le SDK Installer.
Java
S’exécute sur les serveurs d’applications Java EE ou Jakarta EE. Installez-le depuis Maven Central.
C#
S’exécute sur les serveurs d’applications .NET. Installez-le avec NuGet, la CLI .NET ou Paket.
PHP
S’exécute sur les serveurs backend PHP, avec suivi facultatif des tâches cron. Installez-le avec Composer.
Python
S’exécute sur les serveurs backend Python, y compris Django. Installez-le avec pip.
Ruby
S’exécute sur les serveurs backend Ruby et les applications Rails. Installez-le avec RubyGems.
Go
S’exécute dans les applications web et les services Go. Installez-le directement depuis le dépôt GitHub de Kameleoon avec
go get.Rust
S’exécute dans les services Rust et les backends web. Nécessite un runtime asynchrone tel que
tokio. Installez-le avec Cargo.Elixir
S’exécute dans les services Elixir et les backends web. Inclut du code natif compilé à partir du cœur Rust, donc Rust et Cargo doivent figurer dans votre
PATH. Installez-le avec Mix.Mobile
Android
Pour les applications Android natives. Installez-le avec Gradle.
iOS
Pour les applications iOS natives développées avec Swift 5.0 ou version ultérieure. Installez-le avec CocoaPods ou Swift Package Manager.
Flutter
Pour toutes les plateformes ciblées par le framework Flutter. Installez-le en déclarant une dépendance dans
pubspec.yaml.React Native
Utilise le même package
@kameleoon/react-sdk que le SDK React, avec les dépendances propres à React Native. Installez-le avec le SDK Installer.Vérifier que le SDK est initialisé
Chaque SDK Kameleoon s’initialise de manière asynchrone : le client commence à récupérer la configuration de vos flags en arrière-plan dès que vous le créez, puis devient prêt peu après. Évaluer un flag avant que le client soit prêt peut renvoyer une variation par défaut ou de référence au lieu de celle que vous attendez. Confirmez donc que le client est prêt avant de vous fier aux résultats des flags. Les SDK web et côté serveur exposent chacun un appel bloquant qui attend la fin de cette première récupération :
Android, iOS et Flutter ne bloquent pas la création du client pendant la première récupération. Utilisez plutôt la vérification de disponibilité documentée pour le SDK concerné, telle que
isReady() (Android), .ready (iOS) ou isReadyAsync() (Flutter), ou encapsulez l’évaluation du flag dans le callback runWhenReady() du SDK.
Une fois le client prêt, évaluez le feature flag que vous avez créé plus tôt pour confirmer l’intégration de bout en bout. Pour découvrir le cycle de vie complet, de l’initialisation au suivi en passant par l’évaluation des flags, consultez Flux d’exécution du SDK.
Étapes suivantes
- Tutoriel de configuration du SDK et des feature flags : une présentation plus détaillée de l’activation d’un feature flag, avec le SDK Node.js comme implémentation de référence.
- Plateformes prises en charge : la matrice de compatibilité complète des versions et des fonctionnalités des SDK par langage.
- Coordonner les SDK entre plateformes : transmettez le même code visiteur entre les SDK web, mobiles et côté serveur pour offrir au visiteur une expérience cohérente partout.