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 Nota: se requiere un espacio antes y después de los símbolos de unión. Por ejemplo: |
app.build | Se evalúa como 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 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 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 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 porcentaje fraccionario asignado al azar (con tamaños de muestra tan pequeños como 0,000001%). |
Una condición de un solo elemento contiene tres campos:
- Un
name
definido arbitrariamente (hasta 100 caracteres) - Una expresión condicional que se evalúa como
TRUE
oFALSE
, compuesta por los elementos que se muestran arriba. - (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
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. | Por ejemplo, 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. | Por ejemplo,
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 | <= , > , between | Devuelve TRUE si el valor en el campo de percent se compara con el valor que se asignó aleatoriamente al operador.Puede especificar una semilla para seleccionar un nuevo grupo de instancias de aplicaciones asignadas aleatoriamente para un rango de porcentaje dado, como se describe en Tipos de reglas de condición . Para hacer esto, proporcione el nombre de la semilla antes del operador, como en el siguiente ejemplo: percent('keyName') <= 10 Para configurar un rango específico, puede usar el operador percent between 20 and 60 Para configurar un rango de usuarios entre 60 y 80 usando una semilla personalizada: percent('seedName') between 60 and 80 |