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 backend, consulte Modificar Remote Config mediante programación .
Elementos utilizados para crear condiciones.
La API REST de Remote Config admite los mismos elementos que puedes usar para crear condiciones al configurar Remote Config usando Firebase Console:
Elemento | Descripción |
---|---|
&& | Se utiliza para crear un "y" lógico de elementos si se utiliza más de un elemento para una condición. Si un elemento se utiliza en la sintaxis REST sin Nota: se requiere un espacio antes y después de los símbolos. 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, utilice el valor de versionName y para dispositivos Apple, utilice el valor de CFBundleShortVersionString . |
app.id | Un elemento basado en el ID de la aplicación Firebase de la aplicación |
app.audiences | Un elemento que se evalúa como TRUE o FALSE según 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 ninguna 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 realizó 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 | 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 del tipo esperado. |
percent | Se evalúa como TRUE en función de la inclusión de un usuario en un porcentaje fraccionario asignado aleatoriamente (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 soportados
Elemento | Operadores soportados | 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 de 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.Uso de muestra: 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 utiliza 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 objetivo es una subcadena de la propiedad del usuario real. |
app.userProperty | .notContains([...]) | Devuelve TRUE si ninguno de los valores objetivo es una subcadena de la propiedad del usuario real. |
app.userProperty | .exactlyMatches([...]) | Devuelve TRUE si la propiedad del usuario real coincide exactamente (distingue entre mayúsculas y minúsculas) con cualquiera de los valores objetivo de la lista. |
app.userProperty | .matches([...]) | Devuelve TRUE si alguna expresión regular de destino en la lista coincide con una subcadena del valor real o con el valor real completo. Para forzar la coincidencia de toda la cadena, anteponga la expresión regular "^" 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 compilación real de la aplicación se compara numéricamente con el valor especificado de una manera que coincida con el operador. |
app.build | .contains([...]) | Devuelve TRUE si alguno de los valores objetivo 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 objetivo 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 alguna expresión regular de destino en la lista coincide con una subcadena del valor real o con el valor real completo. Para forzar la coincidencia de toda la cadena, anteponga la expresión regular "^" 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 coincida con el operador. |
app.version | .contains([...]) | Devuelve TRUE si alguno de los valores objetivo 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 objetivo 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 alguna expresión regular de destino en la lista coincide con una subcadena del valor real o con el valor real completo. Para forzar la coincidencia de toda la cadena, anteponga la expresión regular "^" y agregue el sufijo "$". Utiliza la sintaxis RE2 . |
app.operatingSystemAndVersion | .inOne([...]) | Devuelve TRUE si el sistema operativo y la versión coinciden con alguno 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 alguno de los valores objetivo de la lista.Por ejemplo: app.browserAndVersion.inOne([browserName('Chrome').anyVersion]) |
app.firebaseInstallationId | in [...] | Devuelve TRUE si la identificación de instalación coincide con alguna especificada en la lista. Uso de muestra: app.firebaseInstallationId in ['eyJhbGciOiJFUzI1N_iIs5', 'eapzYQai_g8flVQyfKoGs7'] |
device.country | in [...] | Devuelve TRUE si el país del dispositivo coincide con alguno especificado en la lista. Uso de muestra: device.country in ['gb', 'us'] . El código de país del dispositivo se determina utilizando 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 la evalúa como TRUE o FALSE según el operador. Uso de muestra: 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. Uso de muestra: 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 percent se compara con el valor asignado aleatoriamente que coincide con el operador.Puede especificar una semilla para seleccionar un nuevo grupo de instancias de aplicación asignado aleatoriamente para un rango de porcentaje determinado, 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 utilizar 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 |