Vous pouvez configurer des modèles pour les cas d'utilisation client et serveur. Les modèles client sont diffusés auprès de 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 les valeurs Remote Config des modèles spécifiques au serveur sont diffusés dans les mises en œuvre de Remote Config (y compris Cloud Run et Cloud Functions) qui utilisent le SDK Firebase Admin Node.js version 12.1.0+.
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 de 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 des paramètres peuvent être castées en tant qu'autres types de données lorsque vous utilisez ces valeurs dans votre application.
À l'aide de la console Firebase, de 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 de la rétablir si nécessaire. Ces opérations sont disponibles dans la console Firebase, Firebase Admin SDK et l'API REST. Elles sont décrites plus en détail dans la section Gérer les versions du modèle Remote Config.
Ce guide explique les paramètres, les conditions, les règles, les valeurs conditionnelles et la façon dont les différentes valeurs de paramètre sont priorisé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 la valeur false
.
Par exemple, vous pouvez créer un paramètre qui définit un nom et une chaîne de version de grand modèle de langage (LLM), et diffuser des réponses de différents modèles en fonction de règles de signal personnalisées. 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 pour répondre aux requêtes du client 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 consulter 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
Lorsque vous utilisez Remote Config dans des applications serveur à l'aide de Firebase Admin SDK, vous récupérez et chargez l'intégralité du modèle afin d'extraire les valeurs de paramètre appropriées à la demande pour chaque requête client. Un paramètre peut être associé à plusieurs valeurs conditionnelles.
Les règles suivantes déterminent quelle valeur est attribuée lors de l'évaluation du modèle à un moment donné:
Tout d'abord, les valeurs conditionnelles sont appliquées à toutes les conditions qui renvoient la valeur
true
pour une requête client donnée. Si plusieurs conditions renvoient la valeurtrue
, la première (en haut) affichée dans l'interface utilisateur de la console Firebase prévaut, et les valeurs conditionnelles associées à cette condition sont fournies lors de l'évaluation du modèle. Vous pouvez modifier la priorité des conditions en les faisant glisser-déposer dans l'onglet Conditions.S'il n'existe aucune valeur conditionnelle avec des conditions évaluant
true
, la valeur par défaut de Remote Config est fournie lors de l'évaluation du modèle. Si un paramètre n'existe pas dans le modèle ou si la valeur par défaut est définie sur Use in-app default (Utiliser la valeur par défaut de l'application), aucune valeur n'est fournie pour ce paramètre lors de l'évaluation du modèle.
Pour en savoir plus sur le chargement et l'évaluation des modèles Remote Config dans les applications serveur, consultez Utiliser Remote Config dans les environnements serveur.
Types de données de valeur de paramètre
Remote Config vous permet de sélectionner un type de données pour chaque paramètre et de valider toutes les valeurs Remote Config par rapport à ce type avant la mise à jour du 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é de 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 à 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, tenez compte des 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 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 les 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 correspondant aux paramètres que vous souhaitez ajouter, puis sélectionnez Déplacer vers un 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 un groupe enregistré, vous pouvez le publier à l'aide du bouton Publier les modifications.
Types de règles de condition
Les modèles Remote Config pour les applications de serveur acceptent les types de conditions suivants:
Utilisateur d'un pourcentage aléatoire
Utilisez ce champ pour appliquer une modification à un échantillon aléatoire d'instances d'application (avec des tailles d'échantillon aussi faibles que 0,0001%), à l'aide du 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, en fonction d'un seuil défini dans ce projet.
Une règle utilise la clé par défaut (affichée sous la forme Modifier le sémaphore dans la console Firebase), sauf si vous modifiez la valeur du sémaphore. Pour qu'une règle utilise la clé par défaut, effacez le champ Graine.
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 de grain pour 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 source.
Par exemple, pour créer deux conditions associées qui s'appliquent chacune à 5 % non chevauchants des utilisateurs d'une application, vous pouvez configurer une condition pour qu'elle corresponde à un pourcentage compris entre 0 et 5 % et une autre 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.
Pour savoir comment ajouter des conditions de pourcentage aléatoires à votre application, consultez la section Configurer votre application de serveur.
Signaux personnalisés
Avec le SDK Firebase Admin Node.js 12.5.0 ou version ultérieure, vous pouvez utiliser le type de condition Signal personnalisé pour répondre à des conditions arbitraires que vous définissez dans votre application. Cela vous permet d'adapter la réponse du serveur à chaque requête client.
Par exemple, si vous travaillez sur une application de serveur qui utilise l'IA générative pour vous aider à élaborer des réponses avec différents modèles adaptés à des plates-formes spécifiques, vous pouvez procéder comme suit:
- Ajoutez les paramètres
prompt
etmodel_name
à votre modèle de serveur Remote Config. - Ajoutez des signaux personnalisés avec une valeur de
platform
pour chaque plate-forme que vous souhaitez cibler. - Ajoutez des valeurs par défaut à votre modèle Remote Config spécifique au serveur et des valeurs conditionnelles pour chaque condition de plate-forme que vous avez définie.
- Mettez à jour le code de votre application pour définir et utiliser le signal personnalisé
platform
.
Votre application peut désormais extraire la requête et le modèle appropriés lors de l'évaluation du modèle, et les utiliser pour renvoyer des réponses personnalisées à chaque client.
Vous pouvez utiliser les types de règles suivants pour créer des signaux personnalisés dans la console Firebase.
Catégorie d'opérateur | Opérateur(s) | Valeur | Remarque |
---|---|---|---|
Texte | correspond exactement à, contient, ne contient pas, contient une expression régulière |
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 une expression régulière, vous pouvez sélectionner plusieurs valeurs. Lorsque vous utilisez l'opérateur contient une expression régulière, 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éros | <, <=, =, !=, >, >= | Nombre ne comportant pas plus de 10 chiffres de chaque côté de la virgule. | |
Versions | <, <=, =, !=, >, >= | Chiffre représentant le ou les numéros de version à faire correspondre (par exemple, 2.1.0). |
Pour savoir comment ajouter des signaux personnalisés à votre application, consultez Configurer votre application serveur.
Paramètres et conditions de recherche
Vous pouvez rechercher les clés, les valeurs et les conditions de paramètre de votre projet dans la console Firebase à l'aide du champ de recherche en haut de l'onglet Paramètres Remote Config.
Limites concernant les paramètres et les conditions
Dans un projet Firebase, vous pouvez avoir jusqu'à 2 000 paramètres et 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ètre d'un projet ne doit pas dépasser 1 000 000 caractères.
Afficher les modifications apportées aux paramètres et aux 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:
Afficher 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, affichez le nombre de minutes ou d'heures écoulées depuis la publication de la modification sur le modèle Remote Config actif.
Si la modification a eu lieu un ou plusieurs jours dans le passé, affichez la date à laquelle la modification a été publiée dans le modèle Remote Config actif.
Historique des modifications des paramètres
Sur la page Remote Config Paramètres, la colonne Dernière publication indique le dernier utilisateur à avoir modifié chaque paramètre et la date de la dernière publication de la modification:
Pour afficher les métadonnées de modification de 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 des conditions
Sur la page Remote Config Conditions, vous pouvez voir le dernier utilisateur à avoir modifié la condition et la date à côté de Dernière modification sous chaque condition.