Vous pouvez configurer des modèles pour les cas d'utilisation côté client et côté serveur. Les modèles de client sont diffusés à toutes les instances d'application qui implémentent les SDK client Firebase pour Remote Config, y compris les applications Android, Apple, Web, Unity, Flutter et C++. Les paramètres et valeurs Remote Config des modèles spécifiques au serveur sont fournis aux implémentations Remote Config (y compris Cloud Run et Cloud Functions) qui utilisent les environnements de serveur suivants :
- SDK Admin Firebase Node.js v12.1.0 ou version ultérieure
- SDK Admin Firebase pour Python v6.7.0 ou version ultérieure
Lorsque vous utilisez la console Firebase ou les API backend Remote Config, vous définissez un ou plusieurs paramètres (paires clé-valeur) et fournissez des valeurs par défaut dans l'application pour ces paramètres. Vous pouvez remplacer les valeurs par défaut dans l'application en définissant des valeurs de paramètre. Les clés et les valeurs de paramètre sont des chaînes, mais les valeurs de paramètre peuvent être converties en d'autres types de données lorsque vous les utilisez dans votre application.
À l'aide de la console Firebase Admin SDK ou de l'API REST Remote Config, vous pouvez créer des valeurs par défaut pour vos paramètres, ainsi que des valeurs conditionnelles utilisées pour cibler des groupes d'instances d'application. Chaque fois que vous mettez à jour votre configuration dans la console Firebase, Firebase crée et publie une nouvelle version de votre modèle Remote Config. La version précédente est stockée, ce qui vous permet de la récupérer ou d'y revenir si nécessaire. Ces opérations sont disponibles dans la console Firebase, dans Firebase Admin SDK et dans l'API REST. Elles sont décrites plus en détail dans Gérer les versions de modèles Remote Config.
Ce guide explique les paramètres, les conditions, les règles, les valeurs conditionnelles et la façon dont différentes valeurs de paramètres sont hiérarchisées dans le backend Remote Config et dans votre application. Il fournit également des informations sur les types de règles utilisées pour créer des conditions.
Conditions, règles et valeurs conditionnelles
Une condition permet de cibler un groupe d'instances d'application. Les conditions sont constituées d'une ou de plusieurs règles qui doivent toutes renvoyer la valeur true
pour que la condition renvoie la valeur true
pour une instance d'application donnée. Si la valeur d'une règle n'est pas définie (par exemple, lorsqu'aucune valeur n'est disponible), cette règle renvoie false
.
Par exemple, vous pouvez créer un paramètre qui définit un nom de modèle et une chaîne de version de grand modèle de langage (LLM), et diffuser des réponses à partir de différents modèles en fonction de règles de signaux personnalisés. Dans ce cas d'utilisation, vous pouvez utiliser une version de modèle stable comme valeur par défaut pour répondre à la plupart des requêtes, et utiliser le signal personnalisé pour utiliser un modèle expérimental afin de répondre aux requêtes des clients de test.
Un paramètre peut avoir plusieurs valeurs conditionnelles qui utilisent différentes conditions, et les paramètres peuvent partager des conditions dans un projet. Dans l'onglet "Paramètres" de la console Firebase, vous pouvez afficher le pourcentage de récupération pour les valeurs conditionnelles de chaque paramètre. Cette métrique indique le pourcentage de requêtes ayant reçu chaque valeur au cours des dernières 24 heures.
Priorité des valeurs de paramètre
Un paramètre peut être associé à plusieurs valeurs conditionnelles. Les règles suivantes déterminent la valeur extraite du modèle Remote Config et celle utilisée dans une instance d'application donnée à un moment précis :
Tout d'abord, les valeurs conditionnelles sont appliquées à toutes les conditions qui sont évaluées à
true
pour une demande client donnée. Si plusieurs conditions sont évaluées surtrue
, la première (en haut) affichée dans l'interface utilisateur de la console Firebase est prioritaire, et les valeurs conditionnelles associées à cette condition sont fournies lorsqu'une application récupère des valeurs à partir du backend. Vous pouvez modifier la priorité des conditions en les faisant glisser dans l'onglet Conditions.S'il n'existe aucune valeur conditionnelle dont les conditions renvoient
true
, la valeur par défaut de Remote Config est fournie lorsqu'une application récupère des valeurs à partir du backend. Si un paramètre n'existe pas dans le backend ou si la valeur par défaut est définie sur Utiliser la valeur par défaut de l'application, aucune valeur n'est fournie pour ce paramètre lorsqu'une application récupère des valeurs.
Dans votre application, les valeurs de paramètre sont renvoyées par les méthodes get
selon la liste de priorité suivante :
- Si une valeur a été récupérée à partir du backend, puis activée, l'application utilise la valeur récupérée. Les valeurs des paramètres activés sont persistantes.
Si aucune valeur n'a été récupérée à partir du backend ou si les valeurs récupérées à partir du backend Remote Config n'ont pas été activées, l'application utilise la valeur par défaut intégrée.
Pour savoir comment obtenir et définir des valeurs par défaut, consultez Télécharger les modèles par défaut Remote Config.
Si aucune valeur par défaut n'a été définie dans l'application, celle-ci utilise une valeur de type statique (par exemple,
0
pourint
etfalse
pourboolean
).
Ce graphique récapitule la façon dont les valeurs de paramètres sont hiérarchisées dans le backend Remote Config et dans votre application :
Types de données des valeurs de paramètres
Remote Config vous permet de sélectionner un type de données pour chaque paramètre et valide toutes les valeurs Remote Config par rapport à ce type avant la mise à jour d'un modèle. Le type de données est stocké et renvoyé dans une requête getRemoteConfig
.
Voici les types de données acceptés :
String
Boolean
Number
JSON
Dans l'interface utilisateur de la console Firebase, le type de données peut être sélectionné dans un menu déroulant à côté de la clé du paramètre. Dans l'API REST, les types peuvent être définis à l'aide du champ value_type
dans l'objet de paramètre.
Groupes de paramètres
Remote Config vous permet de regrouper des paramètres pour une interface utilisateur plus organisée et une meilleure facilité d'utilisation.
Par exemple, supposons que vous deviez activer ou désactiver trois types d'authentification différents lors du déploiement d'une nouvelle fonctionnalité de connexion. Avec Remote Config, vous pouvez créer les trois paramètres pour activer les types souhaités, puis les organiser dans un groupe nommé "Nouvelle connexion", sans avoir besoin d'ajouter de préfixes ni de tri spécial.
Vous pouvez créer des groupes de paramètres à l'aide de la console Firebase ou de l'API REST Remote Config. Chaque groupe de paramètres que vous créez possède un nom unique dans votre modèle Remote Config. Lorsque vous créez des groupes de paramètres, gardez à l'esprit les points suivants :
- Les paramètres ne peuvent être inclus que dans un seul groupe à la fois, et une clé de paramètre doit toujours être unique pour tous les paramètres.
- Les noms de groupes de paramètres sont limités à 256 caractères.
- Si vous utilisez à la fois l'API REST et la console Firebase, assurez-vous que toute la logique de l'API REST est mise à jour pour gérer les groupes de paramètres lors de la publication.
Créer ou modifier des groupes de paramètres à l'aide de la console Firebase
Vous pouvez regrouper des paramètres dans l'onglet Paramètres de la console Firebase. Pour créer ou modifier un groupe :
- Sélectionnez Gérer les groupes.
- Cochez les cases des paramètres que vous souhaitez ajouter, puis sélectionnez Déplacer vers le groupe.
- Sélectionnez un groupe existant ou créez-en un en saisissant un nom et une description, puis en sélectionnant Créer un groupe. Une fois que vous avez enregistré un groupe, vous pouvez le publier à l'aide du bouton Publier les modifications.
Types de règles de condition
Les types de règles suivants sont acceptés dans la console Firebase. Des fonctionnalités équivalentes sont disponibles dans l'API REST Remote Config, comme indiqué dans la documentation de référence sur les expressions conditionnelles.
Type de règle | Opérateur(s) | Valeur(s) | Remarque |
Appli | == | Sélectionnez un ID d'application dans la liste des applications associées à votre projet Firebase. | Lorsque vous ajoutez une application à Firebase, vous saisissez un ID de bundle ou un nom de package Android qui définit un attribut exposé en tant qu'ID d'application dans les règles Remote Config.
Utilisez cet attribut comme suit :
|
Version de l'application |
Pour les valeurs de chaîne : correspond exactement, contient, ne contient pas, contient l'expression régulière Pour les valeurs numériques : <, <=, =, !=, >, >= |
Spécifiez la ou les versions de votre application à cibler. Avant d'utiliser cette règle, vous devez utiliser une règle ID d'application pour sélectionner une application Android/Apple associée à votre projet Firebase. |
Pour les plates-formes Apple : utilisez CFBundleShortVersionString de l'application. Remarque : Assurez-vous que votre application Apple utilise le SDK Firebase pour les plates-formes Apple version 6.24.0 ou ultérieure, car CFBundleShortVersionString n'est pas envoyé dans les versions antérieures (consultez les notes de version). Pour Android : utilisez le versionName de l'application. Les comparaisons de chaînes pour cette règle sont sensibles à la casse. Lorsque vous utilisez les opérateurs correspond exactement à, contient, ne contient pas ou contient l'expression régulière, vous pouvez sélectionner plusieurs valeurs. Lorsque vous utilisez l'opérateur Contient (regex), vous pouvez créer des expressions régulières au format RE2. Votre expression régulière peut correspondre à tout ou partie de la chaîne de version cible. Vous pouvez également utiliser les ancres ^ et $ pour faire correspondre le début, la fin ou l'intégralité d'une chaîne cible. |
Numéro de build |
Pour les valeurs de chaîne : correspond exactement, contient, ne contient pas, expression régulière Pour les valeurs numériques : =, ≠, >, ≥, <, ≤ |
Spécifiez la ou les versions de votre application à cibler. Avant d'utiliser cette règle, vous devez utiliser une règle ID d'application pour sélectionner une application Apple ou Android associée à votre projet Firebase. |
Cet opérateur n'est disponible que pour les applications Apple et Android. Il correspond à CFBundleVersion pour Apple et à versionCode pour Android. Les comparaisons de chaînes pour cette règle sont sensibles à la casse. Lorsque vous utilisez les opérateurs correspond exactement à, contient, ne contient pas ou contient l'expression régulière, vous pouvez sélectionner plusieurs valeurs. Lorsque vous utilisez l'opérateur contient (regex), vous pouvez créer des expressions régulières au format RE2. Votre expression régulière peut correspondre à tout ou partie de la chaîne de version cible. Vous pouvez également utiliser les ancres ^ et $ pour faire correspondre le début, la fin ou l'intégralité d'une chaîne cible. |
Plate-forme | == | iOS Android Web |
|
Système d'exploitation | == |
Spécifiez le ou les systèmes d'exploitation à cibler. Avant d'utiliser cette règle, vous devez utiliser une règle ID d'application pour sélectionner une application Web associée à votre projet Firebase. |
Cette règle renvoie true pour une instance d'application Web donnée si le système d'exploitation et sa version correspondent à une valeur cible dans la liste spécifiée.
|
Navigateur | == |
Spécifiez le ou les navigateurs à cibler. Avant d'utiliser cette règle, vous devez utiliser une règle ID d'application pour sélectionner une application Web associée à votre projet Firebase. |
Cette règle renvoie true pour une instance d'application Web donnée si le navigateur et sa version correspondent à une valeur cible dans la liste spécifiée.
|
Catégorie d'appareil | est, n'est pas | mobile | Cette règle évalue si l'appareil accédant à votre application Web est mobile ou non (ordinateur ou console). Ce type de règle n'est disponible que pour les applications Web. |
Langues | est dans | Sélectionnez une ou plusieurs langues. | Cette règle renvoie true pour une instance d'application donnée si cette instance d'application est installée sur un appareil qui utilise l'une des langues listées.
|
Pays/Région | est dans | Sélectionnez une ou plusieurs régions ou pays. | Cette règle renvoie true pour une instance d'application donnée si l'instance se trouve dans l'une des régions ou l'un des pays listés. Le code pays de l'appareil est déterminé à l'aide de l'adresse IP de l'appareil dans la requête ou du code pays déterminé par Firebase Analytics (si les données Analytics sont partagées avec Firebase).
|
Audiences d'utilisateurs | Inclut au moins un des éléments | Sélectionnez une ou plusieurs audiences Google Analytics que vous avez configurées pour votre projet. | Cette règle nécessite une règle d'ID d'application pour sélectionner une application associée à votre projet Firebase. Remarque : Étant donné que de nombreuses audiences Analytics sont définies par des événements ou des propriétés utilisateur, qui peuvent être basés sur les actions des utilisateurs de l'application, il peut s'écouler un certain temps avant qu'une règle Utilisateur dans l'audience ne prenne effet pour une instance d'application donnée. |
Propriété utilisateur |
Pour les valeurs de chaîne :
contient, ne contient pas, correspond exactement à, contient une expression régulière Pour les valeurs numériques : =, ≠, >, ≥, <, ≤ Remarque : Sur le client, vous ne pouvez définir que des valeurs de chaîne pour les propriétés utilisateur. Pour les conditions qui utilisent des opérateurs numériques, Remote Config convertit la valeur de la propriété utilisateur correspondante en entier/float. |
Sélectionnez une propriété utilisateur Google Analytics dans la liste des propriétés disponibles. | Pour découvrir comment utiliser les propriétés utilisateur afin de personnaliser votre application pour des segments très spécifiques de votre base d'utilisateurs, consultez
Remote Config et les propriétés utilisateur.
Pour en savoir plus sur les propriétés utilisateur, consultez les guides suivants : Lorsque vous utilisez les opérateurs correspond exactement à, contient, ne contient pas ou correspond à l'expression régulière, vous pouvez sélectionner plusieurs valeurs. Lorsque vous utilisez l'opérateur contient (regex), vous pouvez créer des expressions régulières au format RE2. Votre expression régulière peut correspondre à tout ou partie de la chaîne de version cible. Vous pouvez également utiliser les ancres ^ et $ pour faire correspondre le début, la fin ou l'intégralité d'une chaîne cible. Remarque : Les propriétés utilisateur collectées automatiquement ne sont pas disponibles lorsque vous créez des conditions Remote Config. |
Utilisateur d'un pourcentage aléatoire | Curseur (dans la console Firebase). L'API REST utilise les opérateurs <= , > et between .
|
0–100 |
Utilisez ce champ pour appliquer une modification à un échantillon aléatoire d'instances d'application (avec des tailles d'échantillon aussi petites que 0,0001 %), en utilisant le widget de curseur pour segmenter les utilisateurs (instances d'application) mélangés de manière aléatoire en groupes. Chaque instance d'application est mappée de manière persistante à un nombre entier ou fractionnaire aléatoire, selon une valeur initiale définie dans ce projet. Une règle utilisera la clé par défaut (Modifier le seed dans la console Firebase) sauf si vous modifiez la valeur du seed. Pour rétablir la clé par défaut d'une règle, effacez le champ Seed. Pour cibler de manière cohérente les mêmes instances d'application dans des plages de pourcentage données, utilisez la même valeur source dans toutes les conditions. Vous pouvez également sélectionner un nouveau groupe d'instances d'application attribué de manière aléatoire pour une plage de pourcentage donnée en spécifiant une nouvelle valeur initiale. Par exemple, pour créer deux conditions associées qui s'appliquent chacune à 5 % des utilisateurs d'une application (sans chevauchement), vous pouvez configurer une condition pour qu'elle corresponde à un pourcentage compris entre 0 % et 5 %, et une autre condition pour qu'elle corresponde à une plage comprise entre 5 % et 10 %. Pour autoriser certains utilisateurs à apparaître de manière aléatoire dans les deux groupes, utilisez des valeurs de départ différentes pour les règles de chaque condition. |
Segment importé | est dans | Sélectionnez un ou plusieurs segments importés. | Cette règle nécessite la configuration de segments importés personnalisés. |
Date/Heure | Avant, Après | Une date et une heure spécifiques, soit dans le fuseau horaire de l'appareil, soit dans un fuseau horaire spécifique tel que "(GMT+11) Heure de Sydney". | Compare l'heure actuelle à l'heure de récupération des données de l'appareil. |
Première ouverture | Avant, Après | Date et heure spécifiées, dans le fuseau horaire spécifié. | Correspond aux utilisateurs qui ouvrent l'application ciblée pour la première fois au cours de la période spécifiée. Nécessite les SDK suivants :
|
ID d’installation | est dans | Spécifiez un ou plusieurs ID d'installation (jusqu'à 50) à cibler. | Cette règle renvoie true pour une installation donnée si l'ID de cette installation figure dans la liste des valeurs séparées par une virgule.
Pour savoir comment obtenir des ID d'installation, consultez Récupérer les identifiants client. |
L'utilisateur existe | (aucun opérateur) | Cible tous les utilisateurs de toutes les applications du projet actuel. |
Utilisez cette règle de condition pour faire correspondre tous les utilisateurs du projet, quelle que soit l'application ou la plate-forme. |
Signal personnalisé |
Pour les valeurs de chaîne :
contient, ne contient pas, correspond exactement, contient l'expression régulière Pour les valeurs numériques : =, ≠, >, ≥, <, ≤ Pour les valeurs de version : =, ≠, >, ≥, <, ≤ |
Les comparaisons de chaînes pour cette règle sont sensibles à la casse. Lorsque vous utilisez les opérateurs "correspond exactement à", "contient", "ne contient pas" ou "contient (expression régulière)", vous pouvez sélectionner plusieurs valeurs. Lorsque vous utilisez l'opérateur d'expression régulière "contient", vous pouvez créer des expressions régulières au format RE2. Votre expression régulière peut correspondre à tout ou partie de la chaîne de version cible. Vous pouvez également utiliser les ancres ^ et $ pour faire correspondre le début, la fin ou l'intégralité d'une chaîne cible. Les types de données suivants sont acceptés pour les environnements client :
Chiffre représentant le ou les numéros de version à faire correspondre (par exemple, 2.1.0). |
Pour en savoir plus sur les conditions de signaux personnalisées et les expressions conditionnelles à utiliser, consultez Conditions de signaux personnalisées et Éléments utilisés pour créer des conditions. |
Paramètres et conditions de recherche
Vous pouvez rechercher les clés, les valeurs et les conditions des paramètres de votre projet dans la console Firebase à l'aide du champ de recherche situé en haut de l'onglet Paramètres de Remote Config.
Limites concernant les paramètres et les conditions
Dans un projet Firebase, vous pouvez avoir jusqu'à 2 000 paramètres et jusqu'à 500 conditions. Les clés de paramètre peuvent comporter jusqu'à 256 caractères. Elles doivent commencer par un trait de soulignement ou une lettre non accentuée (A-Z, a-z), et peuvent également contenir des chiffres. La longueur totale des chaînes de valeurs de paramètres dans un projet ne peut pas dépasser 1 000 000 de caractères.
Afficher les modifications apportées aux paramètres et conditions
Vous pouvez consulter les dernières modifications apportées à vos modèles Remote Config depuis la console Firebase. Pour chaque paramètre et condition, vous pouvez :
Affichez le nom de l'utilisateur qui a modifié le paramètre ou la condition pour la dernière fois.
Si la modification a eu lieu le même jour, consultez le nombre de minutes ou d'heures écoulées depuis la publication de la modification dans le modèle Remote Config actif.
Si la modification a eu lieu il y a un ou plusieurs jours, consultez la date à laquelle elle a été publiée dans le modèle Remote Config actif.
Historique des modifications pour les paramètres
Sur la page Remote Config Paramètres, la colonne Dernière publication indique le dernier utilisateur ayant modifié chaque paramètre et la dernière date de publication de la modification :
Pour afficher les métadonnées de modification des paramètres groupés, développez le groupe de paramètres.
Pour trier les données par ordre croissant ou décroissant en fonction de la date de publication, cliquez sur le libellé de la colonne Dernière publication.
Historique des modifications pour les conditions
Sur la page Remote Config Conditions, vous pouvez voir le dernier utilisateur qui a modifié la condition et la date de la modification à côté de Dernière modification sous chaque condition.