Référence de l'expression conditionnelle de la configuration à distance

Cette page contient des informations de référence pour la création d'expressions conditionnelles à l'aide des API backend Remote Config ou de la console Firebase. Pour plus d'informations sur la configuration et l'utilisation des API principales, consultez Modifier la configuration à distance par programmation .

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

L'API REST Remote Config prend en charge les mêmes éléments que vous pouvez utiliser pour créer des conditions lors de la configuration de Remote Config à l'aide de la console Firebase :

Élément La description
&&

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

Remarque : un espace est requis avant et après les esperluettes. Par exemple : element1 && element2 .

app.build

Est évalué à TRUE ou FALSE en fonction de la valeur du numéro de build d'une application.

Remarque : Uniquement disponible sur les appareils Apple et Android. Pour Apple, utilisez la valeur de CFBundleVersion et pour Android, utilisez la valeur de versionCode .

app.version

Est évalué à TRUE ou FALSE en fonction de la valeur du numéro de version d'une application.

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

app.id Un élément basé sur l'ID d'application Firebase de l'application
app.audiences Un élément qui prend la TRUE ou FALSE en fonction de la présence ou de l'absence de l'utilisateur dans une ou plusieurs audiences Firebase Analytics .
app.userProperty Un élément qui prend la TRUE ou FALSE en fonction de la valeur numérique ou de chaîne d'une propriété utilisateur Firebase Analytics .
app.operatingSystemAndVersion

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

Remarque : Uniquement disponible pour les applications Web.

app.browserAndVersion

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

Remarque : Uniquement disponible pour les applications Web.

app.firebaseInstallationId Un élément basé sur les ID d'installations d'appareils spécifiques. Prend la TRUE lorsque l' ID d'installation correspond à l'un des ID 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). Prend la TRUE lorsqu'un pays correspond à un code de pays attendu.
device.dateTime Un é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 possibilité de spécifier un fuseau horaire fixe ; par exemple, dateTime('2017-03-22T13:39:44', 'America/Los_Angeles') .
device.language Un élément basé sur la langue sélectionnée sur un appareil. La langue est représentée à l'aide d'une balise de langue IETF telle que es-ES, pt-BR ou en-US. Prend la TRUE lorsqu'une langue correspond à un code de langue attendu.
device.os Un élément basé sur le système d'exploitation utilisé sur un appareil (Apple ou Android). Prend la TRUE lorsque le système d'exploitation de l'appareil est du type attendu.
percent Est évalué à TRUE en fonction de l'inclusion d'un utilisateur dans un centile fractionnaire attribué de manière aléatoire (avec des tailles d'échantillon aussi petites que 0,000001 %).

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

  1. Un name défini arbitrairement (jusqu'à 100 caractères)
  2. Une expression conditionnelle qui prend la TRUE ou FALSE , composée des éléments indiqué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 insensible à la casse et n'affecte que l'affichage des conditions dans la console Firebase.

Opérateurs pris en charge

Par exemple, app.build.notContains([123, 456]) renvoie TRUE si la version réelle de l'application est 123 ou 492, mais renvoie FALSE si la version réelle de l'application est 999. Par exemple, app.version.notContains([123, 456]) renvoie TRUE si la version réelle de l'application est 123 ou 492, mais renvoie FALSE si la version réelle de l'application est 999.
Élément Opérateurs pris en charge La description
app.audiences .inAtLeastOne([...]) Renvoie TRUE si l'audience réelle correspond à au moins un nom d'audience dans la liste.
Par 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 dans la liste.
app.audiences .inAll([...]) Renvoie TRUE si l'audience réelle est membre de chaque nom d'audience de la liste.
app.audiences .notInAll([...]) Renvoie TRUE si l'audience réelle n'est membre d'aucune audience de la liste.
app.userProperty < , <= , == , != , >= , > Renvoie TRUE si la propriété utilisateur réelle se compare numériquement à la valeur spécifiée d'une manière qui correspond à 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) à l' une des valeurs cibles de la liste.
app.userProperty .matches([...]) Renvoie TRUE si une expression régulière cible de la liste correspond à une sous-chaîne ou à la valeur réelle entière. Pour forcer la correspondance de la chaîne entière, faites précéder l'expression régulière de "^" et suffixez-la de "$". Utilise la syntaxe RE2 .
app.id == Renvoie TRUE si la valeur spécifiée correspond à l'ID d'application de l'application.
app.build < , <= , == , != , >= , > Renvoie TRUE si la version réelle de l'application se compare numériquement à la valeur spécifiée d'une manière qui correspond à 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, "a" 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 la version réelle de l'application correspond exactement à l' une des valeurs cibles de la liste.
app.build .matches([...]) Renvoie TRUE si une expression régulière cible de la liste correspond à une sous-chaîne ou à la valeur réelle entière. Pour forcer la correspondance de la chaîne entière, faites précéder l'expression régulière de "^" et suffixez-la de "$". Utilise la syntaxe RE2 .
app.version < , <= , == , != , >= , > Renvoie TRUE si la version réelle de l'application se compare numériquement à la valeur spécifiée d'une manière qui correspond à 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 à l' une des valeurs cibles de la liste.
app.version .matches([...]) Renvoie TRUE si une expression régulière cible de la liste correspond à une sous-chaîne ou à la valeur réelle entière. Pour forcer la correspondance de la chaîne entière, faites précéder l'expression régulière de "^" et suffixez-la de "$". Utilise la syntaxe RE2 .
app.operatingSystemAndVersion .inOne([...]) Renvoie TRUE si le système d'exploitation et la version correspondent à l' une des valeurs cibles de la liste.
Par exemple:

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

app.browserAndVersion .inOne([...]) Renvoie TRUE si le navigateur et la version correspondent à l' une des valeurs cibles de la liste.
Par exemple:

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

app.firebaseInstallationId in [...] Renvoie TRUE si l'ID d'installation correspond à l'un des éléments 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 pays 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 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).
device.dateTime <= , > Compare l'heure actuelle à l'heure cible de la condition et donne la TRUE ou FALSE en fonction de 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 se compare à la valeur de ce champ correspondant à l'opérateur.
percent <= , > Renvoie TRUE si la valeur dans le champ de percent se compare à la valeur qui a été attribuée de manière aléatoire correspondant à l'opérateur.