Firebase Remote Config vous permet de contrôler de manière dynamique le comportement et l'apparence de vos applications sans obliger les utilisateurs à télécharger une mise à jour de l'application ni à redéployer les backends.
Pour configurer vos applications, vous définissez des paramètres (paires clé-valeur) dans Remote Config et les utilisez dans le code de votre application ou de votre backend. Vous pouvez également définir des conditions (règles de ciblage) pour attribuer des valeurs conditionnelles qui remplacent les valeurs par défaut pour des audiences, des environnements ou des critères personnalisés spécifiques.
Remote Config organise les paramètres et les conditions dans des modèles. Selon votre architecture, vous pouvez utiliser des modèles de client, des modèles de serveur ou les deux :
Paramètres et conditions dans les modèles client : diffusez des configurations aux instances d'application cliente sur les plates-formes Apple, Android, Web, Flutter, Unity et C++. Ciblez les instances d'application à l'aide des audiences Google Analytics, des versions d'application, de la plate-forme, de la langue de l'appareil, du pays, des centiles d'utilisateurs et des signaux personnalisés côté client.
Paramètres et conditions dans les modèles de serveur : diffusez des configurations dans des environnements de backend tels que Cloud Run, Cloud Functions for Firebase ou des serveurs conteneurisés à l'aide de Firebase Admin SDK pour Node.js, Python, Go et Java. Évaluez les paramètres côté serveur avec une latence quasi nulle à l'aide de signaux personnalisés du serveur et de déploiements à pourcentage aléatoire.
Comparer les modèles client et serveur
Les modèles client et serveur sont compatibles avec différentes architectures et acceptent des SDK et des règles de ciblage distincts. Utilisez le tableau suivant pour déterminer le type de modèle qui correspond à votre cas d'utilisation :
| Fonctionnalité | Modèles client | Modèles de serveur |
|---|---|---|
| Environnements cibles | Applications clientes (Apple, Android, Web, Flutter, Unity, C++) | Environnements serveur (Cloud Run, Cloud Functions for Firebase, GKE, services de backend) |
| SDK compatibles | SDK client Firebase | Firebase Admin SDK (Node.js, Python, Go, Java) |
| Modèle d'évaluation | Récupérées et mises en cache sur les appareils clients ; activées par le code de l'application | Chargées dans la mémoire du serveur ; évaluées par requête avec une latence quasi nulle |
| Règles de conditions | Version de l'application, OS/plate-forme, langue de l'appareil, pays/région, Analytics audiences et propriétés utilisateur, utilisateur dans un centile aléatoire, première ouverture de l'application, signaux personnalisés du client | Utilisateur d'un pourcentage aléatoire, signaux personnalisés du serveur |
| Cas d'utilisation courants | Déploiements de fonctionnalités, promotions saisonnières, thèmes d'interface utilisateur, A/B Testing, personnalisation | Sélection de modèles et d'invites d'IA, flags de fonctionnalité côté serveur, limitation du débit du backend, routage dynamique |
| Guide détaillé | Paramètres dans les modèles client | Paramètres dans les modèles de serveur |
Concepts fondamentaux
Que vous travailliez avec des modèles de client ou de serveur, Remote Config partage des concepts fondamentaux :
Paramètres
Les paramètres sont des paires clé-valeur que vous définissez dans la console Firebase ou à l'aide des API de backend Remote Config.
- Clés de paramètre : identifiants de chaîne pour vos paramètres. Les clés peuvent comporter jusqu'à 256 caractères, doivent commencer par un trait de soulignement ou une lettre non accentuée (A-Z, a-z) et peuvent inclure des chiffres.
- Valeurs des paramètres : valeurs attribuées à vos paramètres. Les valeurs sont stockées sous forme de chaînes, mais vous pouvez sélectionner des types de données dans la console pour valider les valeurs par rapport à des formats tels que
String,Boolean,NumberouJSON. - Valeurs par défaut : valeur de référence attribuée lorsqu'aucune règle de condition ne s'applique. Vous pouvez définir des valeurs par défaut dans l'application dans votre code, ainsi que des valeurs par défaut de modèle dans le backend Remote Config.
Conditions, règles et valeurs conditionnelles
Les conditions vous permettent de cibler des segments spécifiques d'utilisateurs d'applications ou de requêtes de serveur avec des valeurs de paramètres personnalisées :
- Règles : critères individuels évalués par rapport aux métadonnées du client ou aux contextes de requête (comme un numéro de version, un pays ou un signal personnalisé).
- Conditions : ensembles nommés d'une ou plusieurs règles. Toutes les règles d'une condition doivent renvoyer la valeur
truepour que la condition renvoie la valeurtrue. - Valeurs conditionnelles : valeurs alternatives attribuées à un paramètre lorsqu'une condition est évaluée sur
true. Si plusieurs conditions renvoienttrue, la condition ayant la priorité la plus élevée dans la console Firebase prévaut.
Groupes de paramètres
Pour organiser les configurations comportant des dizaines ou des centaines de paramètres, vous pouvez utiliser des groupes de paramètres. Les groupes permettent d'organiser visuellement les éléments dans la console Firebase et de les regrouper logiquement dans l'API REST.
- Un paramètre ne peut appartenir qu'à un seul groupe à la fois.
- Les clés de paramètre restent uniques à l'échelle mondiale dans votre projet, quel que soit le regroupement.
- Le regroupement ne modifie pas la façon dont les valeurs de paramètre sont référencées dans votre code SDK.
Pour savoir comment créer et gérer des groupes, consultez les guides détaillés sur les paramètres client et serveur.
Gestion des versions et rollbacks de modèles
Chaque fois que vous mettez à jour et publiez des paramètres ou des conditions dans Remote Config, Firebase crée et stocke une nouvelle version de votre modèle. Vous pouvez consulter l'historique des versions, comparer les modifications entre les versions et revenir à une version précédente si nécessaire.
Pour en savoir plus sur la gestion des versions de modèles, consultez Gérer les versions de modèles Remote Config.
Quotas et limites
Dans un projet Firebase, Remote Config applique les limites suivantes :
- Paramètres : jusqu'à 3 000 paramètres par projet.
- Conditions : jusqu'à 2 000 conditions par projet.
- Longueur de la clé de paramètre : jusqu'à 256 caractères.
- Longueur de la chaîne de valeur totale : jusqu'à 1 000 000 de caractères pour toutes les valeurs de paramètres d'un projet.
Pour obtenir la liste complète des limites, consultez Quotas et limites.
Étapes suivantes
- Applications clientes : découvrez comment configurer les paramètres, les règles de ciblage et la priorité dans Paramètres et conditions dans les modèles client.
- Applications serveur : découvrez comment configurer les paramètres du serveur, les signaux personnalisés et l'évaluation du serveur dans Paramètres et conditions dans les modèles de serveur.
- Premiers pas avec les SDK client : configurez votre application cliente à l'aide du guide Premiers pas avec Firebase Remote Config.
- Premiers pas avec les SDK serveur : configurez votre environnement de backend à l'aide du guide Utiliser Remote Config dans les environnements serveur.
- Automatiser les mises à jour : découvrez comment modifier les modèles de manière programmatique dans Modifier Remote Config de manière programmatique.