Paramètres et conditions Remote Config

Vous pouvez configurer des modèles pour les cas d'utilisation client et serveur. Client les modèles sont diffusés sur toutes les instances d'application qui implémentent la SDK clients pour Remote Config, y compris Android, Apple, Web, Unity, Flutter et les applications C++. Les paramètres et les valeurs Remote Config des modèles spécifiques au serveur sont transmis aux implémentations Remote Config (y compris Cloud Run et Cloud Functions) qui utilisent le SDK Node.js Firebase Admin v12.1.0 ou version ultérieure.

Lorsque vous utilisez la console Firebase ou la API backend Remote Config, vous définissez un ou plusieurs paramètres (clé-valeur ) et fournir des valeurs par défaut dans l'application pour ces paramètres. Vous pouvez remplacer des valeurs par défaut dans l'application en définissant des valeurs de paramètres. Les clés et les valeurs de paramètres 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.

Avec la console Firebase, Admin SDK ou API REST Remote Config vous pouvez créer des valeurs par défaut ainsi que des valeurs conditionnelles permettant de cibler des groupes Compute Engine. 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'effectuer un rollback si nécessaire. Ces opérations sont disponibles dans la console Firebase, la Firebase Admin SDK et l'API REST, et sont décrits plus en détail dans Gérer Remote Config versions de modèle

Ce guide décrit les paramètres, conditions, règles, conditions et comment les différentes valeurs de paramètres sont classées par ordre de priorité Remote Config 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 permet de cibler un groupe d'instances d'application. Les conditions sont créées d'une ou plusieurs règles qui doivent toutes renvoyer la valeur true pour que la condition évalue true pour une instance d'application donnée. Si la valeur d'une règle est non définie (par exemple, lorsqu'aucune valeur n'est disponible), la règle renvoie la valeur false

Par exemple, un paramètre qui définit une page d'accueil de l'application peut afficher différentes images en fonction du type de système d'exploitation à l'aide du la règle if device_os = Android:

Capture d'écran de "splash_page" dans la console Firebase indiquant sa valeur par défaut pour iOS et sa valeur conditionnelle pour Android

Une condition temporelle peut être utilisée pour contrôler à quel moment votre application affiche des articles promotionnels.

Un paramètre peut avoir plusieurs conditions utilisant des conditions différentes, et les paramètres peuvent partager des conditions un projet. Dans l'onglet Paramètres de la console Firebase, vous pouvez afficher le pourcentage d'extraction pour chaque les valeurs conditionnelles du paramètre. Cette métrique indique le pourcentage de requêtes ayant reçu chaque valeur au cours des dernières 24 heures.

Priorité de la valeur de paramètre

Un paramètre peut être associé à plusieurs valeurs conditionnelles. La les règles suivantes déterminent la valeur à extraire de Remote Config "server", et quelle valeur est utilisée dans une instance d'application donnée à un moment donné temps:

Les valeurs des paramètres sont extraites en fonction de la liste de priorité suivante

  1. Tout d'abord, les valeurs conditionnelles sont appliquées, si certaines comportent des conditions qui évaluent à true pour une instance d'application donnée. Si plusieurs conditions renvoient la valeur true, 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 lorsqu'une application extrait des valeurs du backend. Vous pouvez modifier la priorité des conditions Glisser-déposer des conditions dans l'onglet Conditions

  2. S'il n'existe aucune valeur conditionnelle avec des conditions évaluant true, La valeur par défaut de Remote Config est fournie lorsqu'une application récupère à 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 les paramètres par défaut de l'application, aucune valeur n'est fournies 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.

  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 ont été extraites du backend Remote Config backend n'a pas été activé. L'application utilise l'inventaire intégré à l'application. valeur par défaut.

    Pour plus d'informations sur l'obtention et la définition des valeurs par défaut, voir Télécharger les paramètres par défaut du modèle Remote Config.

  3. Si aucune valeur par défaut dans l'application n'a été définie, l'application utilise un type statique. (par exemple 0 pour int et false pour boolean).

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

Diagramme illustrant le flux décrit par les listes numérotées ci-dessus

Types de données des valeurs de paramètre

Remote Config vous permet de sélectionner un type de données pour chaque paramètre. valide toutes les valeurs Remote Config par rapport à ce type avant un modèle. mise à jour. Le type de données est stocké et renvoyé sur un getRemoteConfig requête.

Les types de données acceptés sont les suivants:

  • String
  • Boolean
  • Number
  • JSON

Dans l'interface utilisateur de la console Firebase, le type de données peut être sélectionné à partir d'un à côté de la clé du paramètre. Dans les types d'API REST, vous pouvez définir le champ value_type dans l'objet de paramètre.

Groupes de paramètres

Remote Config vous permet de regrouper des paramètres pour mieux organiser et améliorer la convivialité.

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 nommé « Nouvelle connexion », sans préfixe ni tri spécial.

Vous pouvez créer des groupes de paramètres à l'aide de la console Firebase ou de la 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 un 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 les 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 les paramètres Paramètres de la console Firebase. Pour créer ou modifier un groupe:

  1. Sélectionnez Gérer les groupes.
  2. Cochez les cases correspondant aux paramètres que vous souhaitez ajouter, puis sélectionnez-les. Déplacer vers un groupe.
  3. Sélectionnez un groupe existant ou créez-en un en saisissant un nom et une description et en sélectionnant Créer un groupe. Une fois que vous avez enregistré un groupe, vous pouvez le publier à l'aide de l'élément Bouton Publier les modifications

Créer des groupes par programmation

L'API REST Remote Config fournit une pour créer et publier automatiquement des groupes de paramètres. En supposant que vous connaissez bien REST et que vous êtes configuré pour autoriser les requêtes adressées au vous pouvez suivre ces étapes pour gérer des groupes par programmation:

  1. Récupérer le modèle actuel
  2. Ajouter 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 liste des paramètres groupés. Notez que chaque clé de groupe doit être unique.

Par exemple, voici un extrait d'une révision de modèle qui ajoute le paramètre groupe "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 pumpkin spice season."
        }
      }
    }
  }
}

Types de règles de condition

Les types de règles suivants sont compatibles avec la console Firebase. Équivalent sont disponibles dans l'API REST Remote Config, comme expliqué dans référence d'expression conditionnelle.

Type de règle Opérateur(s) Valeur(s) Remarque
Appli == Faites votre choix parmi une liste d'ID d'applications associées à votre Firebase projet. Lorsque vous ajoutez une application à Firebase, vous saisissez un ID de bundle ou un identifiant Android nom de package qui définit un attribut exposé en tant que ID de l'application dans Remote Config.

Utilisez cet attribut comme suit:
  • Pour les plates-formes Apple:utilisez le CFBundleIdentifier : L'identifiant de groupe se trouve dans l'onglet Général de votre compte. cible principale de l'application dans Xcode.
  • Sur Android:utilisez le applicationId. Vous trouverez l'applicationId au niveau de l'application 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 ID d'application pour sélectionner une application Android/Apple associée à votre projet Firebase.

Pour les plates-formes Apple:utilisez la valeur CFBundleShortVersionString de l'application.

Remarque:Assurez-vous que votre application Apple utilise le SDK des plates-formes Firebase pour Apple version 6.24.0 ou ultérieure, car CFBundleShortVersionString n'est pas envoyé versions antérieures (voir les notes de version).

Pour Android : utilisez la versionName de l'application.

Les comparaisons de chaînes pour cette règle sont sensibles à la casse. Lorsque vous utilisez la 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 expressions dans RE2 . Votre expression régulière peut correspondre à tout ou partie de la version cible . Vous pouvez également utiliser les ancres ^ et $ pour faire correspondre les au 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 le ou les builds de votre application à cibler.

Avant d'utiliser cette règle, vous devez utiliser une règle ID de l'application pour sélectionner un opérateur Apple ou Application Android associée à votre projet Firebase

Cet opérateur n'est disponible que pour les applications Apple et Android. Il correspond à l'état CFBundleVersion pour Apple et versionCode pour Android. Les comparaisons de chaînes pour cette règle sensible à la casse.

Lorsque vous utilisez les opérateurs 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 expressions dans RE2 . Votre expression régulière peut correspondre à tout ou partie de la version cible . Vous pouvez également utiliser les ancres ^ et $ pour faire correspondre les au 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 de l'application pour sélectionner un 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 de 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 de l'application pour sélectionner un 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 de la liste spécifiée.
Catégorie d'appareil est, n'est pas mobile Cette règle détermine si l'appareil qui accède à votre application Web est un appareil mobile non mobiles (ordinateur ou console). Ce type de règle n'est disponible que pour le Web applications.
Langages est dans Sélectionnez une ou plusieurs langues. Cette règle renvoie true pour une instance d'application donnée si celle-ci app instance 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 des pays listés. 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ée 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) dans la liste : que vous avez configurés pour votre projet.

Cette règle nécessite qu'une règle relative à l'ID d'application sélectionne une application associée à votre projet Firebase.

Remarque:Étant donné que de nombreuses audiences Analytics sont définies par des événements ou les propriétés utilisateur, qui peuvent être basées sur les actions des utilisateurs de l'application, un certain temps pour qu'une règle Utilisateur de l'audience soit appliquée à une application donnée Compute Engine.

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. Pour les conditions qui utilisent des opérateurs numériques, Remote Config convertit la valeur de l'attribut en entier/nombre flottant.
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, 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 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 expressions dans 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 les au début, à la fin ou à l'intégralité d'une chaîne cible.

Remarque:Propriétés utilisateur collectées automatiquement ne sont pas disponibles lorsque vous créez des conditions Remote Config.
Utilisateur de 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 inférieures à 0,0001%), utilisez le widget "curseur". pour segmenter de manière aléatoire les utilisateurs (instances d'application) en groupes.

Chaque instance d'application est mappée de manière persistante à un ensemble aléatoire. ou fractionnaire, en fonction d'une valeur graine définie 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. Vous pouvez renvoyer une règle à l'aide de la clé par défaut en effaçant le champ Seed.

Pour traiter systématiquement les mêmes instances d'application dans un pourcentage donné plages, utilisez la même valeur source dans toutes les conditions. Ou sélectionnez une nouvelle d'instances d'application attribué de manière aléatoire pour une plage de pourcentage donnée par spécifiant une nouvelle valeur de départ.

Par exemple, pour créer deux conditions liées qui s'appliquent chacune à ne se chevauchent pas (5% des utilisateurs d'une application), vous pouvez configurer une condition pour qu'elle un pourcentage compris entre 0% et 5 %, et configurer une autre condition pour qu'elle corresponde à une plage entre 5% et 10%. Pour permettre à certains utilisateurs d'apparaître de manière aléatoire dans les deux groupes, utilisez différentes valeurs de graine 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 segments importés.
Date/Heure Avant, Après Date et heure spécifiées, soit dans le fuseau horaire de l'appareil, soit dans un fuseau horaire spécifié, par exemple "(GMT+11) heure de Sydney". Compare l'heure actuelle à l'heure de récupération de l'appareil.
Première ouverture Avant, après Date et heure spécifiées, dans le fuseau horaire spécifié.

Recherche les utilisateurs qui ouvrent l'application ciblée pour la première fois dans la période spécifiée période.

Nécessite les SDK suivants:

  • SDK Firebase pour Google Analytics
  • SDK des plates-formes Apple version 9.0.0 ou ultérieure, ou SDK Android version 21.1.1 ou ultérieure (Firebase BoM v30.3.0+)
ID d’installation est dans Spécifiez un ou plusieurs ID d'installation (jusqu'à 50) à cibler. Cette règle renvoie la valeur true pour une installation donnée si celle-ci l'ID de l'installation se trouve dans la liste de valeurs séparées par des virgules.

Pour savoir comment obtenir les 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 établir une correspondance avec tous les utilisateurs du projet, indépendamment d'une application ou d'une plate-forme.

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 applicables aux paramètres et aux 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 au sein d'un projet ne peut pas dépasse 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 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 dans la même journée, affichez le nombre de minutes ou heures écoulées depuis la publication de la modification sur Modèle Remote Config.

  • Si la modification a eu lieu un ou plusieurs jours dans le passé, consultez 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 Remote Config la colonne Dernière publication indique le dernier utilisateur qui a modifié chaque 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 par ordre croissant ou décroissant par date de publication, cliquez sur le Libellé de la colonne Dernière publication.

Mises à jour de l'état

Le Remote Config Conditions, vous pouvez voir le dernier utilisateur qui a modifié la condition, ainsi que la date de la modification ; à côté de Dernière modification, sous chaque condition.

Étapes suivantes

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