Google is committed to advancing racial equity for Black communities. See how.
Cette page a été traduite par l'API Cloud Translation.
Switch to English

Paramètres et conditions de configuration à distance

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 ou de l' API REST Remote Config , 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, vous permettant de récupérer ou de revenir en arrière si nécessaire. Ces opérations sont également disponibles pour vous via l'API REST.

Ce guide explique les paramètres, les conditions, les règles, les valeurs conditionnelles et la manière dont les différentes valeurs de paramètres sont hiérarchisées sur le serveur de configuration distant 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 plusieurs règles qui doivent toutes être évaluées à true pour que la condition soit évaluée à 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 à l'aide de la règle simple if device_os = Android :

Une condition de temps peut également ê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 des conditions différentes, 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 pour les valeurs conditionnelles de chaque paramètre. Cette métrique indique le pourcentage de demandes au cours des dernières 24 heures ayant reçu chaque valeur.

Priorité de valeur de 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 distant 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 selon la liste de priorité suivante

  1. Tout d'abord, des valeurs conditionnelles sont appliquées, le cas échéant, des conditions évaluées à true pour une instance d'application donnée. Si plusieurs conditions donnent la valeur true , 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 du backend. Vous pouvez modifier la priorité des conditions en faisant glisser et en déposant les conditions dans l'onglet Conditions .

  2. 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 les valeurs du backend. Si un paramètre n'existe pas dans le backend ou si la valeur par défaut est définie sur Aucune valeur , aucune valeur n'est fournie pour ce paramètre lorsqu'une application extrait des valeurs.

Dans votre application, les valeurs des paramètres sont renvoyées par les méthodes get selon la liste de priorité suivante

  1. Si une valeur a été extraite du backend puis activée, l'application utilise la valeur récupérée. Les valeurs des paramètres activés sont persistantes.
  2. 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.
  3. Si aucune valeur par défaut dans l'application n'a été définie, l'application utilise une valeur de type statique (telle que 0 pour int et false pour boolean ).

Ce graphique résume la façon dont les valeurs des paramètres sont hiérarchisées dans le backend Remote Config et dans votre application:

Groupes de paramètres

Remote Config vous permet de regrouper les paramètres pour une interface utilisateur et un modèle mental plus organisés.

Par exemple, disons que vous devez 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 de préfixes ou 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 a 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 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 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:

  1. Sélectionnez Gérer les groupes .
  2. Cochez les cases des paramètres que vous souhaitez ajouter et sélectionnez Déplacer vers le groupe .
  3. 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 . Une fois que vous avez 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 êtes familiarisé avec REST et que vous êtes configuré pour autoriser les demandes à l'API, vous pouvez effectuer ces étapes pour gérer les groupes par programme:

  1. Récupérer le modèle actuel
  2. Ajoutez des objets JSON pour représenter vos groupes de paramètres
  3. 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 condition

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) Remarque
App == 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 entrez un ID de groupe iOS 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:
  • Pour iOS: utilisez le CFBundleIdentifier de l'application. Vous pouvez trouver l' identifiant du bundle dans l'onglet Général de la cible principale de votre application dans Xcode.
  • Pour Android: utilisez l'appli applicationId . Vous pouvez trouver l' applicationId dans votre fichier build.gradle niveau de l' build.gradle .
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 d' ID d'application pour sélectionner une application Android / iOS associée à votre projet Firebase.

Pour iOS: utilisez le CFBundleShortVersionString de l'application.

Remarque: assurez-vous que votre application iOS utilise Firebase iOS SDK version 6.24.0 ou supérieure, car CFBundleShortVersionString n'est pas envoyé dans les versions antérieures (voir les notes de publication ).

Pour Android: utilisez le nom de version de l'application.

Les comparaisons de chaînes pour cette règle sont sensibles à la casse. Lorsque vous utilisez l'opérateur de correspondance exacte , 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 la 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 build (s) de votre application à cibler.

Avant d'utiliser cette règle, vous devez utiliser une règle d' ID d'application pour sélectionner une application iOS associée à votre projet Firebase.

Cet opérateur est disponible uniquement pour les applications iOS et correspond à la version CFBundleVersion de l'application. Les comparaisons de chaînes pour cette règle sont sensibles à la casse.

Lorsque vous utilisez l'opérateur de correspondance exacte , 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 la 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
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 (s) navigateur (s) à 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.
Date / heure <=,> Une date et une heure spécifiées, dans le fuseau horaire de l'appareil ou dans un fuseau horaire spécifié tel que "(GMT + 11) heure de Sydney". Compare l'heure actuelle avec l'heure de récupération de l'appareil.
Utilisateur dans un centile aléatoire <=,> 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 .0001%), à l'aide des opérateurs <= et > pour segmenter les utilisateurs (instances d'application) en groupes.

Chaque instance d'application est mappée de manière permanente à un nombre entier ou fractionnaire aléatoire, en fonction d'une clé définie dans ce projet. Une règle utilisera la clé par défaut (affichée sous la forme DEF dans la console Firebase) sauf si vous sélectionnez ou créez une autre clé. Vous pouvez rétablir une règle sur l'utilisation de la clé par défaut en effaçant les utilisateurs aléatoires à l'aide de ce champ de clé . Vous pouvez utiliser une seule clé entre les règles pour traiter de manière cohérente les mêmes instances d'application dans des plages de pourcentage données. 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 créant une nouvelle clé.

Par exemple, pour créer deux conditions associées qui s'appliquent chacune à 5% des utilisateurs d'une application qui ne se chevauchent pas, une condition peut inclure une règle <= 5% et une autre condition inclure à la fois une règle > 5% et un <= Règle des 10% . Pour permettre à certains utilisateurs d'apparaître au hasard dans les deux groupes, utilisez des clés différentes pour les règles de chaque condition.

Utilisateur dans l'audience == Sélectionnez 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, il peut s'écouler un certain temps avant qu'une règle d' utilisateur dans l'audience prenne effet pour une instance d'application donnée.

Appareil dans la région / le pays == 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 pays répertoriés. Le code de pays de l'appareil est déterminé à l'aide de l'adresse IP de l'appareil dans la demande ou du code de pays déterminé par Firebase Analytics (si les données Analytics sont partagées avec Firebase).
Langue de l'appareil == 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.
Propriété de l'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 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 exactement correspond , 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 la 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 des conditions de configuration à distance.

Recherche de paramètres et de conditions

Vous pouvez rechercher les clés de paramètres, les valeurs de paramètres 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 des paramètres et des conditions

Dans un projet Firebase, vous pouvez avoir jusqu'à 2000 paramètres et jusqu'à 500 conditions. Les clés de paramètres peuvent contenir 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 800 000 caractères.

Prochaines étapes

Pour commencer à configurer votre projet Firebase, consultez Configurer un projet Firebase Remote Config .