Documentation de référence sur les expressions conditionnelles Remote Config

Cette page contient des informations de référence sur la création à l'aide des API backend Remote Config ou de la console Firebase. Pour plus d'informations sur la configuration et l'utilisation des API backend, consultez Modifiez Remote Config de manière programmatique.

Éléments utilisés pour créer des conditions

L'API REST Remote Config accepte les mêmes éléments que vous pouvez utiliser pour créez des conditions lorsque vous configurez Remote Config à l'aide de Console Firebase:

Élément Description
&&

Utilisé pour créer un "et" logique d'éléments si vous en utilisez plusieurs pour une condition. Si un élément est utilisé dans la syntaxe REST sans inclure && , cet élément est traité comme une condition.

Remarque:Vous devez insérer un espace avant et après les esperluettes. Par exemple: element1 && element2

app.build

Prend la valeur TRUE ou FALSE selon la valeur du numéro de version d'une application.

Remarque:Disponible uniquement sur les appareils Apple et Android. Utilisez la valeur de CFBundleVersion pour Apple et versionCode pour Android.

app.version

Prend la valeur TRUE ou FALSE selon la valeur du numéro de version d'une application.

Remarque:Pour les appareils Android, utilisez la valeur versionName, et pour les appareils Apple, utilisez la valeur CFBundleShortVersionString.

app.id Un élément basé sur l'ID de l'application Firebase
app.audiences Un élément dont l'évaluation est basée sur TRUE ou FALSE sur la présence ou l'absence de l'utilisateur dans un ou plusieurs Audience(s) Firebase Analytics.
app.firstOpenTimestamp Élément basé sur la première fois que l'utilisateur lance une application, obtenu à partir de l'événement first_open Google Analytics. Utilise la date ISO avec la possibilité de spécifier un fuseau horaire fixe ; Exemple : app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles') Si aucun fuseau horaire n'est spécifié, le fuseau horaire GMT est utilisé.
app.userProperty Un élément dont l'évaluation est basée sur TRUE ou FALSE sur la valeur numérique ou de chaîne d'une Propriété utilisateur Firebase Analytics.
app.operatingSystemAndVersion

Élément basé sur le système d'exploitation sur lequel une application s'exécute. Renvoie TRUE lorsque le système d'exploitation et la version du système d'exploitation correspondent à la cible spécifiée.

Remarque:Disponible uniquement pour les applications Web.

app.browserAndVersion

Élément basé sur le navigateur sur lequel une application s'exécute. Prend la valeur TRUE lorsque le navigateur et la version du navigateur correspondent à cible spécifiée.

Remarque:Disponible uniquement pour les applications Web.

app.firebaseInstallationId Élément basé sur les ID d'installations d'appareils spécifiques. Prend la valeur TRUE lorsque l'ID d'installation correspond à l'un des identifiants d'installation spécifiés.
device.country Un élément basé sur la région/le pays dans lequel se trouve un appareil, en utilisant la norme ISO 3166-1 alpha-2 (par exemple, États-Unis ou Royaume-Uni). Évalue à TRUE lorsqu'un pays correspond au code pays attendu.
device.dateTime Élément basé sur l'heure de la dernière récupération effectuée par l'appareil. Utilise le format de date ISO avec la méthode pour spécifier un fuseau horaire fixe. Exemple : dateTime('2017-03-22T13:39:44', 'America/Los_Angeles')
device.language Élément basé sur la langue sélectionnée sur un appareil. La langue est à l'aide d'un tag de langue IETF, tel que es-ES, pt-BR ou en-US. Renvoie TRUE lorsqu'une langue correspond à un code de langue attendu.
device.os Élément basé sur le système d'exploitation utilisé sur un appareil (Apple ou Android). Prend la valeur TRUE lorsque le type d'OS de l'appareil est attendu.
percent Évalue la valeur de TRUE en fonction de l'inclusion d'un utilisateur dans un pourcentage fractionnaire attribué (avec des tailles d'échantillon aussi faibles que 0,000001%).

Une condition à un seul élément contient trois champs:

  1. Une valeur name définie arbitrairement (jusqu'à 100 caractères)
  2. Une expression conditionnelle qui renvoie TRUE ou FALSE constitué des éléments présentés ci-dessus.
  3. (Facultatif) Le tagColor, qui peut être "BLUE", "BROWN", "CYAN", "DEEP_ORANGE", "GREEN", "INDIGO", "LIME", "ORANGE", "PINK", "PURPLE" ou "TEAL". La couleur est non sensible à la casse et n'affecte que l'affichage des conditions dans Firebase.

Opérateurs compatibles

Par exemple, app.build.notContains([123, 456]) renvoie TRUE si la version de l'application est 123 ou 492, mais renvoie FALSE si la version de l'application est 999. Par exemple, app.version.notContains([123, 456]) renvoie TRUE si la version de l'application est 123 ou 492, mais renvoie FALSE si la version de l'application est 999.
Élément Opérateurs compatibles Description
app.audiences .inAtLeastOne([...]) Renvoie TRUE si l'audience réelle correspond à au moins un nom d'audience de la liste.
Exemple:

app.audiences.inAtLeastOne(['Audience 1', 'Audience 2'])

app.audiences .notInAtLeastOne([...]) Renvoie TRUE si l'audience réelle ne correspond pas à au moins un nom d'audience de la liste.
app.audiences .inAll([...]) Affiche la valeur TRUE si l'audience réelle est membre de toutes les nom de l'audience dans la liste.
app.audiences .notInAll([...]) Renvoie TRUE si l'audience réelle n'appartient à aucune audience de la liste.
app.firstOpenTimestamp <=, > Compare l'heure de l'événement first_open à celle de l'événement heure de la condition et renvoie TRUE ou FALSE en fonction de l'opérateur.
Exemple d'utilisation:
app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles')
Pour spécifier une plage :
app.firstOpenTimestamp >= ('2022-11-01T00:00:00') && app.firstOpenTimestamp < ('2022-12-01T00:00:00') Si aucun fuseau horaire n'est spécifié, le fuseau horaire GMT est utilisé.
app.userProperty <, <=, ==, != >= et > Renvoie TRUE si la propriété utilisateur réelle est numériquement comparée à la valeur spécifiée de manière à correspondre à l'opérateur.
app.userProperty .contains([...]) Renvoie TRUE si l'une des valeurs cibles est une sous-chaîne de la propriété utilisateur réelle.
app.userProperty .notContains([...]) Renvoie TRUE si aucune des valeurs cibles n'est une sous-chaîne de la propriété utilisateur réelle.
app.userProperty .exactlyMatches([...]) Renvoie TRUE si la propriété utilisateur réelle correspond exactement à (sensible à la casse) n'importe quelle valeur cible dans la liste.
app.userProperty .matches([...]) Renvoie TRUE si une expression régulière cible de la liste correspond à une sous-chaîne ou à la totalité de la valeur réelle. Pour forcer la correspondance de la chaîne entière, faire précéder l'expression régulière de "^" et ajoutez le suffixe "$". Utilisations Syntaxe RE2.
app.id == Renvoie TRUE si la valeur spécifiée correspond à l'ID de l'application.
app.build <, <=, ==, !=, >=, > Renvoie TRUE si la version de l'application réelle compare numériquement à la valeur spécifiée d'une manière correspondant à l'opérateur.
app.build .contains([...]) Renvoie TRUE si l'une des valeurs cibles est une sous-chaîne de la version réelle de l'application (par exemple, "un" et "bc" sont des sous-chaînes de "abc".
app.build .notContains([...]) Renvoie TRUE si aucune des valeurs cibles n'est une sous-chaîne de la version réelle de l'application.
app.build .exactlyMatches([...]) Renvoie TRUE si le build réel de l'application correspond exactement n'importe quelle valeur cible de la liste.
app.build .matches([...]) Renvoie TRUE si une expression régulière cible figure dans l'élément list correspond à une sous-chaîne de la valeur réelle ou à l'intégralité de celle-ci. Pour forcer la mise en correspondance de la chaîne entière, ajoutez le préfixe "^" au début de l'expression régulière et y ajouter un suffixe par "$". Utilise Syntaxe RE2.
app.version <, <=, ==, !=, >=, > Renvoie TRUE si la version réelle de l'application compare numériquement la version. à la valeur spécifiée d'une manière correspondant à l'opérateur.
app.version .contains([...]) Renvoie TRUE si l'une des valeurs cibles est une sous-chaîne de la version réelle de l'application. Par exemple, "a" et "bc" sont des sous-chaînes de "abc".
app.version .notContains([...]) Renvoie TRUE si aucune des valeurs cibles n'est une sous-chaîne de la version réelle de l'application.
app.version .exactlyMatches([...]) Renvoie TRUE si la version réelle de l'application correspond exactement à n'importe quelle valeur cible de la liste.
app.version .matches([...]) Renvoie TRUE si une expression régulière cible figure dans l'élément list correspond à une sous-chaîne de la valeur réelle ou à l'intégralité de celle-ci. Pour forcer la mise en correspondance de la chaîne entière, ajoutez le préfixe "^" au début de l'expression régulière et y ajouter un suffixe par "$". Utilise Syntaxe RE2.
app.operatingSystemAndVersion .inOne([...]) Renvoie TRUE si l'OS et la version correspondent à l'un des éléments cibles de la liste.
Exemple:

    app.operatingSystemAndVersion.inOne([operatingSystemName('Macintosh').version.==('10.15')])
    

app.browserAndVersion .inOne([...]) Renvoie TRUE si le navigateur et la version correspondent à l'un des éléments cibles de la liste.
Exemple:

    app.browserAndVersion.inOne([browserName('Chrome').anyVersion])
    

app.firebaseInstallationId in [...] Renvoie TRUE si l'ID d'installation correspond à l'un de ceux spécifiés dans la liste. Exemple d'utilisation: app.firebaseInstallationId in ['eyJhbGciOiJFUzI1N_iIs5', 'eapzYQai_g8flVQyfKoGs7']
device.country in [...] Renvoie TRUE si le pays de l'appareil correspond à l'un des éléments spécifiés dans la liste. Exemple d'utilisation: device.country in ['gb', 'us']. Le code pays de l'appareil est déterminé à l'aide du l'adresse IP de l'appareil dans la requête ou le code pays déterminé par Firebase. Analytics (si les données Analytics sont partagées avec Firebase)
device.dateTime <=, > Compare l'heure actuelle à l'heure cible de la condition et renvoie TRUE ou FALSE selon l'opérateur. Exemple d'utilisation: dateTime < dateTime('2017-03-22T13:39:44')
device.language in [...] Renvoie TRUE si l'une des langues de l'application correspond à une langue. de la liste. Exemple d'utilisation: device.language in ['en-UK', 'en-US'].
device.os ==, != Renvoie TRUE si le système d'exploitation de l'appareil compare la valeur de ce champ à celle correspondant à l'opérateur.
percent <=, >, between Renvoie TRUE si la valeur du champ percent se compare à la valeur attribuée aléatoirement correspondant à l'opérateur.

Vous pouvez spécifier une valeur source pour sélectionner une nouvelle source d'instances d'application pour une plage de pourcentage donnée, comme décrit dans Règle de condition différents types d'appareil.

Pour ce faire, indiquez nom de la graine devant l'opérateur, comme dans l'exemple suivant:

percent('keyName') <= 10

Pour configurer une plage spécifique, vous pouvez utiliser la méthode between. . Pour configurer un intervalle d'utilisateurs compris entre 20 et 60 utilisateurs à l'aide du graine par défaut:

percent between 20 and 60

Pour configurer une plage d'utilisateurs comprise entre 60 et 80 à l'aide d'un générateur de nombres aléatoires personnalisé :

percent('seedName') between 60 and 80