Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Referencia de expresión condicional de Remote Config

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Esta página contiene información de referencia para crear expresiones condicionales mediante 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 back-end, consulte Modificar Remote Config mediante programación .

Elementos utilizados para crear condiciones.

La API REST de Remote Config admite los mismos elementos que puede usar para crear condiciones al configurar Remote Config con Firebase Console:

Elemento Descripción
&&

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

Nota: se requiere un espacio antes y después de los símbolos de unión. Por ejemplo: element1 && element2 .

app.build

Se evalúa como TRUE o FALSE en función del valor del número de compilación de una aplicación.

Nota: Solo disponible en dispositivos Apple y Android. Para Apple, use el valor de CFBundleVersion y para Android, use 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 aplicación.

Nota: para dispositivos Android, use el valor de versionName y para dispositivos Apple, use el valor de CFBundleShortVersionString .

app.id Un elemento basado en el ID de aplicación de Firebase de la aplicación
app.audiences Un elemento que se evalúa como TRUE o FALSE en función de la presencia o ausencia del usuario en una o más audiencias de Firebase Analytics .
app.firstOpenTimestamp Un elemento basado en la primera vez que el usuario inicia una aplicación, obtenido del evento first_open de Google Analytics. Utiliza el formato de fecha ISO con la opción de especificar una zona horaria fija; por ejemplo, app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles') . Si no se especifica una zona horaria, se utiliza GMT.
app.userProperty Un elemento que se evalúa como TRUE o FALSE según el valor numérico o de cadena de una propiedad de usuario de Firebase Analytics .
app.operatingSystemAndVersion

Un elemento basado en el sistema operativo en el que se ejecuta una aplicación. Se evalúa como TRUE cuando el sistema operativo y la versión del sistema operativo coinciden con el objetivo especificado.

Nota: Solo disponible para aplicaciones web.

app.browserAndVersion

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

Nota: Solo disponible para aplicaciones web.

app.firebaseInstallationId Un elemento basado en los ID de instalaciones de dispositivos específicos. Se evalúa como TRUE cuando el ID de instalación coincide con uno de los ID de instalación especificados.
device.country Un elemento basado en la región/país en el que se encuentra un dispositivo, utilizando el estándar ISO 3166-1 alfa-2 (por ejemplo, EE. UU. o Reino Unido). Se evalúa como TRUE cuando un país coincide con un código de país esperado.
device.dateTime Un elemento basado en la hora de la última búsqueda que realiza el dispositivo. Utiliza el formato de fecha ISO con la opción de especificar una zona horaria fija; por ejemplo, dateTime('2017-03-22T13:39:44', 'America/Los_Angeles') .
device.language Un 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 esperado.
device.os Un elemento basado en el sistema operativo utilizado en un dispositivo (Apple o Android). Se evalúa como TRUE cuando el sistema operativo del dispositivo es el tipo esperado.
percent Se evalúa como TRUE en función de la inclusión de un usuario en un percentil fraccional asignado al azar (con tamaños de muestra tan pequeños como 0,000001%).

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

  1. Un name definido arbitrariamente (hasta 100 caracteres)
  2. Una expresión condicional que se evalúa como TRUE o FALSE , compuesta por los elementos que se muestran arriba.
  3. (Opcional) El tagColor , que puede ser " BLUE ", " BROWN ", " CYAN ", " DEEP_ORANGE ", " GREEN ", " INDIGO ", " LIME ", " ORANGE ", " PINK ", " PURPLE ", o " TEAL ". 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 compatibles

Por ejemplo, app.build.notContains([123, 456]) devuelve TRUE si la compilación de la aplicación real es 123 o 492, pero devuelve FALSE si la compilación de la aplicación real es 999. Por ejemplo, app.version.notContains([123, 456]) devuelve TRUE si la versión real de la aplicación es 123 o 492, pero devuelve FALSE si la versión real de la aplicación es 999.
Elemento Operadores compatibles Descripción
app.audiences .inAtLeastOne([...]) Devuelve TRUE si la audiencia real coincide con al menos un nombre de audiencia en la lista.
Por ejemplo:

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

app.audiences .notInAtLeastOne([...]) Devuelve TRUE si la audiencia real no coincide con al menos un nombre de audiencia en la lista.
app.audiences .inAll([...]) Devuelve TRUE si la audiencia real es miembro de cada nombre de audiencia en la lista.
app.audiences .notInAll([...]) Devuelve TRUE si la audiencia real no es miembro de ninguna audiencia en la lista.
app.firstOpenTimestamp <=, > Compara la hora del evento first_open con la hora especificada en la condición y devuelve TRUE o FALSE según el operador.
Ejemplo de uso:
app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles') .
Para especificar un rango:
app.firstOpenTimestamp >= ('2022-11-01T00:00:00') && app.firstOpenTimestamp < ('2022-12-01T00:00:00') Si no se especifica ninguna zona horaria, se usa GMT.
app.userProperty < , <= , == , != , >= , > Devuelve TRUE si la propiedad del usuario real se compara numéricamente con el valor especificado de una manera que coincida con el operador.
app.userProperty .contains([...]) Devuelve TRUE si alguno de los valores de destino es una subcadena de la propiedad del usuario real.
app.userProperty .notContains([...]) Devuelve TRUE si ninguno de los valores de destino es una subcadena de la propiedad de usuario real.
app.userProperty .exactlyMatches([...]) Devuelve TRUE si la propiedad del usuario real coincide exactamente (se distingue entre mayúsculas y minúsculas) con cualquiera de los valores objetivo de la lista.
app.userProperty .matches([...]) Devuelve TRUE si cualquier expresión regular de destino en la lista coincide con una subcadena o con el valor real completo. Para forzar la coincidencia de toda la cadena, anteponga la expresión regular con "^" y agregue el sufijo "$". Utiliza la sintaxis RE2 .
app.id == Devuelve TRUE si el valor especificado coincide con el ID de aplicación de la aplicación.
app.build < , <= , == , != , >= , > Devuelve TRUE si la creación de la aplicación real se compara numéricamente con el valor especificado de una manera que coincide con el operador.
app.build .contains([...]) Devuelve TRUE si alguno de los valores de destino es una subcadena de la compilación de la aplicación real; por ejemplo, "a" y "bc" son subcadenas de "abc".
app.build .notContains([...]) Devuelve TRUE si ninguno de los valores de destino es una subcadena de la compilación de la aplicación real.
app.build .exactlyMatches([...]) Devuelve TRUE si la compilación de la aplicación real coincide exactamente con cualquiera de los valores objetivo de la lista.
app.build .matches([...]) Devuelve TRUE si cualquier expresión regular de destino en la lista coincide con una subcadena o con el valor real completo. Para forzar la coincidencia de toda la cadena, anteponga la expresión regular con "^" y agregue el sufijo "$". Utiliza la sintaxis RE2 .
app.version < , <= , == , != , >= , > Devuelve TRUE si la versión real de la aplicación se compara numéricamente con el valor especificado de una manera que coincide con el operador.
app.version .contains([...]) Devuelve TRUE si alguno de los valores de destino es una subcadena de la versión real de la aplicación; por ejemplo, "a" y "bc" son subcadenas de "abc".
app.version .notContains([...]) Devuelve TRUE si ninguno de los valores de destino es una subcadena de la versión real de la aplicación.
app.version .exactlyMatches([...]) Devuelve TRUE si la versión real de la aplicación coincide exactamente con cualquiera de los valores objetivo de la lista.
app.version .matches([...]) Devuelve TRUE si cualquier expresión regular de destino en la lista coincide con una subcadena o con el valor real completo. Para forzar la coincidencia de toda la cadena, anteponga la expresión regular con "^" y agregue el sufijo "$". Utiliza la sintaxis RE2 .
app.operatingSystemAndVersion .inOne([...]) Devuelve TRUE si el sistema operativo y la versión coinciden con cualquiera de los valores objetivo de la lista.
Por ejemplo:

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

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

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

app.firebaseInstallationId in [...] Devuelve TRUE si el ID de instalación coincide con cualquiera de los especificados en la lista. Ejemplo de uso: app.firebaseInstallationId in ['eyJhbGciOiJFUzI1N_iIs5', 'eapzYQai_g8flVQyfKoGs7']
device.country in [...] Devuelve 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 mediante la dirección IP del dispositivo en la solicitud o el código de país determinado por 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 se evalúa como TRUE o FALSE según el operador. Ejemplo de uso: dateTime < dateTime('2017-03-22T13:39:44') .
device.language in [...] Devuelve TRUE si alguno de los idiomas de la aplicación coincide con un idioma de la lista. Ejemplo de uso: device.language in ['en-UK', 'en-US'] .
device.os == , != Devuelve TRUE si el sistema operativo del dispositivo se compara con el valor en ese campo que coincide con el operador.
percent <= , > Devuelve TRUE si el valor en el campo de percent se compara con el valor que se asignó aleatoriamente al operador.