Lorsque vous utilisez la console Firebase ou les API backend de 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 côté serveur. Les clés de paramètre 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 utilisez ces valeurs dans votre application.
À l'aide de la console Firebase, du SDK d'administration ou de l'API REST de configuration à distance , vous pouvez créer de nouvelles 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 restaurer si nécessaire. Ces opérations sont disponibles via la console Firebase, le SDK Firebase Admin et l'API REST et sont décrites plus en détail dans 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 hiérarchisation des différentes valeurs de paramètres sur le serveur de configuration à distance et dans votre application. Il fournit également des détails sur les types de règles utilisées pour créer des conditions.
Conditions, règles et valeurs conditionnelles
Une condition est utilisée pour cibler un groupe d'instances d'application. Les conditions sont constituées d'une ou de plusieurs règles qui doivent toutes être évaluées sur true
pour que la condition soit évaluée sur 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 sera évaluée à false
.
Par exemple, un paramètre qui définit la page d'accueil d'une application peut afficher différentes images en fonction du type de système d'exploitation en utilisant la règle simple if device_os = Android
:
Ou, une condition temporelle peut être utilisée pour contrôler le moment où votre application affiche des articles promotionnels spéciaux.
Un paramètre peut avoir plusieurs valeurs conditionnelles qui utilisent différentes conditions, et les paramètres peuvent partager des conditions au sein d'un projet. Dans l' onglet Paramètres de la console Firebase, vous pouvez afficher le pourcentage de récupération des valeurs conditionnelles de chaque paramètre. Cette métrique indique le pourcentage de demandes au cours des dernières 24 heures qui ont reçu chaque valeur.
Priorité de la valeur du paramètre
Un paramètre peut être associé à plusieurs valeurs conditionnelles. Les règles suivantes déterminent quelle valeur est extraite du serveur de configuration à distance et quelle valeur est utilisée dans une instance d'application donnée à un moment donné :
Les valeurs des paramètres côté serveur sont extraites en fonction de la liste de priorités suivante
Tout d'abord, des valeurs conditionnelles sont appliquées, si certaines ont des conditions qui sont évaluées comme
true
pour une instance d'application donnée. Si plusieurs conditions ont la valeurtrue
, 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 les valeurs du backend. Vous pouvez modifier la priorité des conditions en faisant glisser et en déposant des conditions dans l'onglet Conditions .S'il n'y a pas de valeurs conditionnelles avec des conditions évaluées à
true
, la valeur par défaut côté serveur 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 Use in-app default , aucune valeur n'est fournie pour ce paramètre lorsqu'une application récupère des valeurs.
Dans votre application, les valeurs des paramètres sont renvoyées par les méthodes get
selon la liste de priorité suivante
- Si une valeur a été extraite du backend puis activée, l'application utilise la valeur extraite. Les valeurs de paramètre activées sont persistantes.
Si aucune valeur n'a été extraite du backend ou si les valeurs extraites du backend Remote Config n'ont pas été activées, l'application utilise la valeur par défaut de l'application.
Pour plus d'informations sur l'obtention et la définition des valeurs par défaut, consultez Télécharger les valeurs par défaut du modèle Remote Config .
Si aucune valeur par défaut n'a été définie dans l'application, l'application utilise une valeur de type statique (telle que
0
pourint
etfalse
pourboolean
).
Ce graphique résume la hiérarchisation des valeurs de paramètre dans le backend Remote Config et dans votre application :
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 valide toutes les valeurs côté serveur par rapport à ce type avant une mise à jour du modèle. Le type de données est stocké et renvoyé sur une requête getRemoteConfig
.
Les types actuellement pris en charge sont :
-
String
-
Boolean
-
Number
-
JSON
Dans l'interface utilisateur de la console Firebase, le type de données peut être sélectionné dans une liste déroulante à 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 et un modèle mental plus organisés.
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 comme vous le souhaitez, puis les organiser dans un groupe nommé "Nouvelle connexion", sans avoir besoin d'ajouter des préfixes ou un 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 porte un nom unique dans votre modèle de configuration à distance. Lors de la création de groupes de paramètres, gardez à l'esprit :
- Les paramètres peuvent être inclus dans un seul groupe à la fois, et une clé de paramètre doit toujours être unique pour tous les paramètres.
- Les noms des 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 d'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 des paramètres que vous souhaitez ajouter et sélectionnez Déplacer vers le groupe .
- Sélectionnez un groupe existant ou créez un nouveau groupe en saisissant un nom et une description, puis en sélectionnant Créer un nouveau groupe . Après avoir enregistré un groupe, il est disponible pour être publié à l'aide du bouton Publier les modifications .
Créer des groupes par programmation
L' API REST Remote Config fournit un moyen automatisé de créer et de publier des groupes de paramètres. En supposant que vous connaissiez REST et que vous soyez configuré pour autoriser les requêtes à l'API, vous pouvez effectuer ces étapes pour gérer les groupes par programmation :
- Récupérer le modèle actuel
- Ajoutez des objets JSON pour représenter vos groupes de paramètres
- Publiez les groupes de paramètres à l'aide d'une requête HTTP PUT.
L'objet parameterGroups
contient des clés de groupe, avec une description imbriquée et une liste de paramètres groupés. Notez que chaque clé de groupe doit être globalement unique.
Par exemple, voici un extrait d'une révision de modèle qui ajoute le groupe de paramètres "nouveau menu" avec un paramètre, pumpkin_spice_season
:
{ "parameters": {}, "version": { "versionNumber": "1", … }, "parameterGroups": { "new menu": { "description": "New Menu", "parameters": { "pumpkin_spice_season": { "defaultValue": { "value": "true" }, "description": "Whether it's currently pumpkin spice season." } } } } }
Types de règles de conditions
Les types de règles suivants sont pris en charge dans la console Firebase. Une fonctionnalité équivalente est disponible dans l'API REST Remote Config, comme détaillé dans la référence d'expression conditionnelle .
Type de règle | Les opérateurs) | Valeurs) | Note |
---|---|---|---|
Application | == | Faites votre choix dans une liste d'ID d'application pour les applications associées à votre projet Firebase. | Lorsque vous ajoutez une application à Firebase, vous saisissez un ID de groupe ou un nom de package Android qui définit un attribut exposé en tant qu'ID d'application dans les règles de configuration à distance. Utilisez cet attribut comme suit :
|
Version de l'application | 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 App ID pour sélectionner une application Android/Apple associée à votre projet Firebase. | Pour les plates-formes Apple : utilisez le CFBundleShortVersionString de l'application. Remarque : assurez-vous que votre application Apple utilise la version 6.24.0 ou ultérieure du SDK des plates-formes Apple Firebase, car CFBundleShortVersionString n'est pas envoyé dans les versions antérieures (voir 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 l' opérateur correspond exactement , contient , ne contient pas ou expression régulière , vous pouvez sélectionner plusieurs valeurs. Lorsque vous utilisez l'opérateur d'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é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 App ID pour sélectionner une application Apple ou Android associée à votre projet Firebase. | Cet opérateur est disponible uniquement 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 l' opérateur correspond exactement , contient , ne contient pas ou expression régulière , vous pouvez sélectionner plusieurs valeurs. Lorsque vous utilisez l'opérateur d'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. |
Plateforme | == | iOS Android la toile | |
Système opérateur | == | Spécifiez le ou les systèmes d'exploitation à cibler. Avant d'utiliser cette règle, vous devez utiliser une règle d'ID d'application pour sélectionner une application Web associée à votre projet Firebase. | Cette règle prend la valeur 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 d'ID d'application pour sélectionner une application Web associée à votre projet Firebase. | Cette règle prend la valeur 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 mobile (ordinateur de bureau ou console). Ce type de règle est uniquement disponible pour les applications Web. |
Langues | est dans | Sélectionnez une ou plusieurs langues. | Cette règle prend la valeur 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 répertoriées. |
Pays/Région | est dans | Sélectionnez une ou plusieurs régions ou pays. | Cette règle prend la valeur true pour une instance d'application donnée si l'instance se trouve dans l'une des régions ou des pays répertoriés. Le code pays de l'appareil est déterminé à l'aide de l'adresse IP de l'appareil dans la demande ou du code pays déterminé par Firebase Analytics (si les données Analytics sont partagées avec Firebase). |
Public(s) utilisateur(s) | Comprend au moins un | Sélectionnez-en une ou plusieurs dans une liste d'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ées sur les actions des utilisateurs de l'application, l' application d'une règle d'utilisateur dans l'audience peut prendre un certain temps pour une instance d'application donnée. |
Propriété utilisateur | Pour les valeurs de chaîne : contient, ne contient pas, correspond exactement, 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 nombre entier/flottant. | Faites votre choix dans une liste de propriétés utilisateur Google Analytics disponibles. | Pour savoir comment utiliser les propriétés utilisateur pour personnaliser votre application pour des segments très spécifiques de votre base d'utilisateurs, consultez Configuration à distance et propriétés utilisateur . Pour en savoir plus sur les propriétés utilisateur, consultez les guides suivants :
Lorsque vous utilisez l'opérateur correspond exactement , contient , ne contient pas ou d'expression régulière , vous pouvez sélectionner plusieurs valeurs. Lorsque vous utilisez l'opérateur d'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. Remarque : les propriétés utilisateur collectées automatiquement ne sont actuellement pas disponibles lors de la création de conditions de configuration à distance. |
Utilisateur en pourcentage aléatoire | Slider (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 aléatoirement mélangés (instances d'application) en groupes. Chaque instance d'application est mappée de manière persistante sur un nombre entier ou fractionnaire aléatoire, selon une graine définie dans ce projet. Une règle utilisera la clé par défaut (affichée en tant que graine de modification dans la console Firebase) sauf si vous modifiez la valeur de graine. Vous pouvez rétablir une règle à l'aide de la clé par défaut en effaçant le champ Seed . Pour traiter de manière cohérente les mêmes instances d'application dans des plages de pourcentage données, utilisez la même valeur de départ 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 de départ. Par exemple, pour créer deux conditions associées qui s'appliquent chacune à 5 % d'utilisateurs d'une application, sans chevauchement, vous pouvez configurer une condition pour qu'elle corresponde à un pourcentage compris entre 0 % et 5 % et configurer une autre condition pour qu'elle corresponde à une plage comprise entre 5 % et dix%. Pour permettre à certains utilisateurs d'apparaître au hasard dans les deux groupes, utilisez des valeurs de départ différentes pour les règles dans 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écifiées, soit dans le fuseau horaire de l'appareil, soit dans un fuseau horaire spécifié tel que "(GMT+11) heure de Sydney". | Compare l'heure actuelle à l'heure de récupération de l'appareil. |
Première ouverture | Avant après | Une date et une heure spécifiées, dans le fuseau horaire spécifié. | Correspond aux utilisateurs qui ouvrent pour la première fois l'application ciblée dans la période spécifiée. Nécessite les SDK suivants :
|
Identifiant d'installation | est dans | Spécifiez un ou plusieurs ID d'installation (jusqu'à 50) à cibler. | Cette règle prend la true pour une installation donnée si l'ID de cette installation figure dans la liste de valeurs séparées par des virgules.Pour savoir comment obtenir des ID d'installation, voir Récupérer les identifiants client . |
L'utilisateur existe | (pas d'opérateur) | Cible tous les utilisateurs de toutes les applications du projet en cours. | Utilisez cette règle de condition pour faire correspondre tous les utilisateurs du projet, quelle que soit l'application ou la plate-forme. |
Paramètres et conditions de recherche
Vous pouvez rechercher les clés de paramètre, les valeurs de paramètre et les conditions de votre projet à partir de la console Firebase à l'aide de la zone de recherche en haut de l'onglet Paramètres de configuration à distance.
Limites sur 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, doivent commencer par un trait de soulignement ou une lettre anglaise (AZ, az) et peuvent également inclure des chiffres. La longueur totale des chaînes de valeur de paramètre dans un projet ne peut pas dépasser 1 000 000 caractères.
Affichage des modifications des paramètres et des conditions
Vous pouvez afficher les dernières modifications apportées à vos modèles de configuration à distance à partir de la console Firebase . Pour chaque paramètre et condition individuelle, vous pouvez :
Afficher le nom de l'utilisateur qui a modifié le paramètre ou la condition en dernier.
Si la modification s'est produite dans la même journée, affichez le nombre de minutes ou d'heures qui se sont écoulées depuis la publication de la modification dans le modèle Remote Config actif.
Si la modification s'est produite il y a un ou plusieurs jours, affichez la date à laquelle la modification a été publiée dans le modèle Remote Config actif.
Mises à jour des paramètres
Sur la page Paramètres de configuration à distance, la colonne Dernière publication indique le dernier utilisateur qui a 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 par ordre croissant ou décroissant par date de publication, cliquez sur le libellé de la colonne Dernière publication .
Mises à jour des conditions
Sur la page Conditions de configuration à distance, vous pouvez voir le dernier utilisateur qui a modifié la condition et la date à laquelle il l'a modifiée à côté de Dernière modification sous chaque condition.
Prochaines étapes
Pour commencer à configurer votre projet Firebase, consultez Configurer un projet Firebase Remote Config .