Google 致力于为黑人社区推动种族平等。查看具体举措

Paramètres et conditions de configuration à distance

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 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 de configuration à distance. La version précédente est stockée, ce qui vous permet de la récupérer ou de la restaurer selon vos besoins. Ces opérations vous sont également accessibles via l'API REST.

Ce guide explique les paramètres, les conditions, les règles, les valeurs conditionnelles et comment les différentes valeurs de paramètres sont hiérarchisées 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 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 en utilisant la règle simple if device_os = Android :

Ou, une condition de temps 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 pour les valeurs conditionnelles de chaque paramètre. Cette mesure 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 récupérées selon la liste de priorité suivante

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

  1. Si une valeur a été récupérée depuis le 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 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 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 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 :

  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 peut ê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 :

  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. Des fonctionnalités équivalentes sont disponibles 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) Noter
Application == Sélectionnez 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 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'applicationId de l' application . 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 version ).

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 d' expressions régulières correspond exactement , contient , ne contient pas , 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 builds 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 ou Android associée à votre projet Firebase.

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

Lorsque vous utilisez l'opérateur d' expressions régulières correspond exactement , contient , ne contient pas , 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.

Plate-forme == iOS
Android
la toile
Système opérateur ==

Spécifiez le(s) système(s) 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 est évaluée à 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.
Le 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 est évaluée à 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, 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.
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 0,0001 %), en utilisant les opérateurs <= et > pour segmenter les utilisateurs (instances d'application) en groupes.

Chaque instance d'application est mappée de manière persistante sur 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 à l'aide de la clé par défaut en désactivant le champ Randomiser les utilisateurs à l'aide de cette 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. Ou, vous pouvez sélectionner un nouveau groupe d'instances d'application attribué au hasard pour une plage de pourcentage donnée en créant une nouvelle clé.

Par exemple, pour créer deux conditions liées qui s'appliquent chacune à 5 % d'utilisateurs d'une application qui ne se chevauchent pas, une condition peut inclure une règle <= 5 % et une autre condition comprend à 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 dans chaque condition.

Utilisateur dans l'audience == 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, il peut s'écouler un certain temps avant qu'une règle 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 est évaluée à 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).
Langue de l'appareil == Sélectionnez une ou plusieurs langues. Cette règle est évaluée à 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 un entier/un flottant.
Faites votre choix dans une liste de propriétés utilisateur Google Analytics disponibles. Pour savoir comment vous pouvez 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 d' expression régulière correspond exactement , contient , ne contient pas ou , 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.
Segment importé == Sélectionnez un ou plusieurs segments importés. Cette règle nécessite la configuration de segments importés personnalisés .

Recherche de paramètres et conditions

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 des paramètres et 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 800 000 caractères.

Prochaines étapes

Pour commencer à configurer votre projet Firebase, consultez Configurer un projet de configuration à distance Firebase .