Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

Información de referencia para compilar expresiones condicionales con Remote Config

Esta página contiene información de referencia para compilar expresiones condicionales con las API de backend de Remote Config o Firebase console. Para obtener más información sobre la configuración y el uso de las API de backend, consulta Modifica Remote Config de manera programática.

Elementos usados para crear condiciones

La API de REST de Remote Config admite los mismos elementos que puedes usar para crear condiciones cuando configuras la función con Firebase console:

Elemento Descripción
&&

Se usa a fin de crear un “y” lógico de elementos si usas más de un elemento para una condición. Si se utiliza un elemento en la sintaxis de REST sin && , ese elemento se trata como una condición.

Nota: Se debe colocar un espacio antes y después de los signos “&”. Por ejemplo: element1 && element2.

app.build

Se evalúa como TRUE o FALSE según el valor del número de compilación de una app.

Nota: Solo está disponible en dispositivos iOS y Android. En iOS, usa el valor de CFBundleVersion. Para Android, usa el valor de versionCode.

app.version

Se evalúa como TRUE o FALSE según el valor del número de versión de una app.

Nota: En dispositivos Android, usa el valor de versionName y, en dispositivos iOS, utiliza el valor de CFBundleShortVersionString.

app.id Elemento que está basado en el ID de app de Firebase de la app.
app.audiences Elemento que se evalúa como TRUE o FALSE según la presencia o ausencia del usuario en uno o más públicos de Firebase Analytics.
app.predictionScores.id Elemento que evalúa la probabilidad de percentil de usuario del emisor para un ID de Firebase Predictions determinado.
app.userProperty Elemento que se evalúa como TRUE o FALSE según el valor numérico o de string de una propiedad del usuario de Firebase Analytics.
app.operatingSystemAndVersion

Elemento basado en el sistema operativo en el que se ejecuta una app. Se evalúa como TRUE cuando el SO y su versión coinciden con el objetivo especificado.

Nota: Solo está disponible para apps web.

app.browserAndVersion

Elemento basado en el navegador en el que se ejecuta una app. Se evalúa como TRUE cuando el navegador y la versión del navegador coinciden con el objetivo especificado.

Nota: Solo está disponible para apps web.

device.country Elemento basado en la región o el país en que se encuentra un dispositivo, con el estándar ISO 3166‑1 alpha‑2 (por ejemplo, US o UK). Se evalúa como TRUE cuando un país coincide con un código de país esperado.
device.dateTime Elemento basado en la hora de la última recuperación ejecutada en el dispositivo. Usa la fecha en formato ISO con la opción para especificar una zona horaria fija; por ejemplo, dateTime('2017-03-22T13:39:44', 'America/Los_Angeles').
device.language Elemento basado en el idioma seleccionado en un dispositivo. El idioma se representa mediante una etiqueta de idioma IETF, como es-ES, pt-BR o en-US. Se evalúa como TRUE cuando un idioma coincide con un código de idioma previsto.
device.os Elemento basado en el sistema operativo que se usa en un dispositivo (iOS o Android). Se evalúa como TRUE cuando el SO del dispositivo es del tipo esperado.
percent Se evalúa como TRUE según la inclusión de un usuario en un percentil fraccionario asignado al azar (con tamaños de muestra tan pequeños como el 0.000001%).

Una condición de un solo elemento contiene los siguientes tres campos:

  1. Un name definido de manera arbitraria (hasta 100 caracteres)
  2. Una expresión condicional que se evalúa como TRUE o FALSE, compuesta de los elementos mostrados anteriormente.
  3. El tagColor, que puede ser “BLUE”, “BROWN”, “CYAN”, “DEEP_ORANGE”, “GREEN”, “INDIGO”, “LIME”, “ORANGE”, “PINK”, “PURPLE” o “TEAL” (opcional). El color no distingue entre mayúsculas y minúsculas y solo afecta la forma en que se muestran las condiciones en Firebase console.

Operadores admitidos

Por ejemplo, app.build.notContains([123, 456]) muestra TRUE si la compilación real de la app es 123 o 492, pero muestra FALSE si la compilación real es 999. Por ejemplo, app.version.notContains([123, 456]) muestra TRUE si la versión real de la app es 123 o 492, pero muestra FALSE si la versión real es 999.
Elemento Operadores admitidos Descripción
app.audiences .inAtLeastOne([...]) Muestra TRUE si el público real coincide con al menos un nombre de público de la lista.
Por ejemplo:


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

app.audiences .notInAtLeastOne([...]) Muestra TRUE si el público real no coincide con al menos un nombre de público de la lista.
app.audiences .inAll([...]) Muestra TRUE si el público real es un miembro de cada nombre de público de la lista.
app.audiences .notInAll([...]) Muestra TRUE si el público real no es miembro de ningún público de la lista.
app.predictionScores.id .between(..., ...) Muestra TRUE si la probabilidad de percentil del usuario del llamador para la predicción está en el rango determinado.
Por ejemplo:


app.predictionScores.id('churn').between(0.25, 1.00)

app.userProperty <, <=, ==, !=, >=, > Muestra TRUE si la propiedad de usuario real se compara numéricamente con el valor especificado y coincide con el operador.
app.userProperty .contains([...]) Muestra TRUE si alguno de los valores de destino es una substring de la propiedad de usuario real.
app.userProperty .notContains([...]) Muestra TRUE si ninguno de los valores de destino es una substring de la propiedad de usuario real.
app.userProperty .exactlyMatches([...]) Muestra TRUE si la propiedad del usuario real coincide de forma exacta (incluidas mayúsculas y minúsculas) con alguno de los valores de destino de la lista.
app.userProperty .matches([...]) Muestra TRUE si alguna expresión regular de destino de la lista coincide con el valor real completo o una substring de este. Para forzar la coincidencia de toda la string, ingresa “^” antes de la expresión regular y agrégale el sufijo “$”. Usa la sintaxis de RE2.
app.id == Muestra TRUE si el valor especificado coincide con el ID de la app.
app.build <, <=, ==, !=, >=, > Muestra TRUE si la compilación real de la app se compara numéricamente con el valor especificado y coincide con el operador.
app.build .contains([...]) Muestra TRUE si alguno de los valores de destino es una substring de la compilación real de la app (por ejemplo, “a” y “bc” son substrings de “abc”).
app.build .notContains([...]) Muestra TRUE si ninguno de los valores de destino es una subcadena de la compilación real de la app.
app.build .exactlyMatches([...]) Muestra TRUE si la compilación real de la app coincide de forma exacta con alguno de los valores de destino de la lista.
app.build .matches([...]) Muestra TRUE si alguna expresión regular de destino de la lista coincide con el valor real completo o una substring de este. Para forzar la coincidencia de toda la string, ingresa “^” antes de la expresión regular y agrégale el sufijo “$”. Usa la sintaxis de RE2.
app.version <, <=, ==, !=, >=, > Muestra TRUE si la versión real de la app se compara numéricamente con el valor especificado y coincide con el operador.
app.version .contains([...]) Muestra TRUE si alguno de los valores de destino es una substring de la versión real de la app (por ejemplo, “a” y “bc” son substrings de “abc”).
app.version .notContains([...]) Muestra TRUE si ninguno de los valores de destino es una substring de la versión real de la app.
app.version .exactlyMatches([...]) Muestra TRUE si la versión real de la app coincide de forma exacta con alguno de los valores de destino de la lista.
app.version .matches([...]) Muestra TRUE si alguna expresión regular de destino de la lista coincide con el valor real completo o una substring de este. Para forzar la coincidencia de toda la string, ingresa “^” antes de la expresión regular y agrégale el sufijo “$”. Usa la sintaxis de RE2.
app.operatingSystemAndVersion .inOne([...]) Muestra TRUE si el SO y su versión coinciden con cualquiera de los valores de destino de la lista.
Por ejemplo:


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

app.browserAndVersion .inOne([...]) Muestra TRUE si el navegador y su versión coinciden con cualquiera de los valores de destino de la lista.
Por ejemplo:


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

device.country in [...] Muestra TRUE si el país del dispositivo coincide con alguno de los especificados en la lista. Ejemplo de uso: device.country in ['gb', 'us']. El código de país del dispositivo se determina con la dirección IP del dispositivo en la solicitud o con el código de país que determina Firebase Analytics (si los datos de Analytics se comparten con Firebase).
device.dateTime <=, > Compara la hora actual con la hora objetivo de la condición y evalúa como TRUE o FALSE según el operador. Ejemplo de uso: dateTime < dateTime('2017-03-22T13:39:44').
device.language in [...] Muestra TRUE si alguno de los idiomas de la app coincide con un idioma de la lista. Ejemplo de uso: device.language in ['en-UK', 'en-US'].
device.os ==, != Muestra TRUE si el sistema operativo del dispositivo se compara con el valor de ese campo y coincide con el operador.
percent <=, > Muestra TRUE si el valor del campo percent se compara con el valor asignado aleatoriamente y coincide con el operador.