Ir a la consola

Parámetros y condiciones de Remote Config

Cuando usas Firebase console, defines uno o más parámetros (pares clave-valor) y proporcionas valores predeterminados en la app para esos parámetros. Los valores de la app pueden anularse a través de parámetros definidos en el servicio con Firebase console. Las claves y los valores de los parámetros son strings, pero los valores pueden transmitirse como otros tipos de datos cuando los usas en tu app.

Firebase console permite crear nuevos valores predeterminados para los parámetros, así como valores condicionales que puedes usar a fin de orientar los cambios a grupos de instancias de la app. Cada vez que actualizas la configuración, Firebase console crea y publica una versión nueva de tu plantilla de Remote Config. Se almacena la versión anterior, lo que te permite realizar acciones de recuperación o reversión según sea necesario.

En esta guía, se explican los parámetros, las condiciones, las reglas y los valores condicionales, así como la manera en la que se priorizan distintos valores de parámetros en el servidor de Remote Config y la app. Además, se brindan detalles sobre los tipos de reglas que se usan para crear las condiciones.

Condiciones, reglas y valores condicionales

Se usa una condición para orientar un grupo de instancias de apps. Las condiciones constan de una o más reglas. Cuando todas las reglas se evalúan como true, se considera que el valor de la condición es true en una instancia específica de la app. Si el valor de la regla no está definido (por ejemplo, si no hay ningún valor disponible), la regla se evalúa como false.

Por ejemplo, un parámetro que defina una página de inicio de una app podría mostrar imágenes diferentes según el tipo de SO mediante la regla simple if device_os = Android:

Por otro lado, se podría usar una condición de tiempo para controlar el momento en que tu app muestra elementos promocionales especiales.

Los parámetros pueden tener varios valores con distintas condiciones y compartir condiciones dentro de un proyecto.

Prioridad de los valores de los parámetros

Un parámetro puede tener varios valores condicionales asociados. Las siguientes reglas determinan qué valor se recupera del servidor de Remote Config y qué valor se usa en una instancia específica de la app en un momento dado:

Los valores de los parámetros en el servidor se recuperan según la siguiente lista de prioridad:

  1. Primero, se aplican valores condicionales, si hay condiciones que se evalúan como true para una instancia específica de la app. Si hay varias condiciones que se evalúan como true, la primera (la que aparece más arriba) en la IU de Firebase console tiene prioridad, y se brindan los valores condicionales asociados con esa condición cuando la app solicita valores al servicio. Para cambiar la prioridad de las condiciones, puedes arrastrar y soltar los elementos en la pestaña Condiciones.

  2. Si no hay valores condicionales cuyas condiciones se evalúen como true, se muestra el valor predeterminado del servicio cuando la app solicita valores al servicio. Si un parámetro no existe en el servicio o si el valor predeterminado se definió como Sin valor, no se brinda ningún valor para ese parámetro cuando la app solicita uno.

En la aplicación, los métodos get recuperan los valores de los parámetros según la siguiente lista de prioridad:

  1. Si un valor se recuperó del servicio y después se activó, la app usa el valor recuperado. Los valores de parámetros activados son persistentes.
  2. Si no se recuperó ningún valor del servicio o si los valores recuperados no se activaron, se usa el valor predeterminado en la app.
  3. Si no se definió ningún valor predeterminado en la app, se usa un valor de tipo estático (como 0 para int y false para boolean).

En el siguiente gráfico, se resume cómo se priorizan los valores de los parámetros en el servicio y la app:

Tipos de reglas de las condiciones

En Firebase console, se admiten los tipos de reglas que se indican a continuación. La API de REST de Remote Config cuenta con funciones equivalentes, como se indica en la referencia de expresiones condicionales.

Tipo de regla Operadores Valores Nota
App == Selecciona una opción de una lista de ID de apps asociadas con tu proyecto de Firebase. Cuando agregas una app a Firebase, ingresas un ID de paquete de iOS o un nombre de paquete de Android que define un atributo que se expone como ID de la app en las reglas de Remote Config.

Usa este atributo de la siguiente manera:
  • En iOS: Usa el valor CFBundleIdentifier de la app. Para encontrar el Identificador de paquete, consulta la pestaña General del objetivo primario de la aplicación en Xcode.
  • En Android: Usa el valor applicationId de la app. Para conocer el applicationId, consulta el archivo build.gradle de nivel de la app.
Versión de la app coincidencia exacta,
contiene,
no contiene,
expresión regular
Ingresa un valor para indicar una versión específica (o versiones relacionadas) de la aplicación. Antes de usar esta regla, debes usar una regla de ID de app para seleccionar una app asociada con tu proyecto de Firebase.

En las apps para iOS, corresponde a la versión CFBundleVersion de la app. En las apps de Android, corresponde al nombre de versión de la app. Las comparaciones entre strings para esta regla distinguen entre mayúsculas y minúsculas.

Si usas los operadores coincidencia exacta, contiene o no contiene, puedes proporcionar una lista de valores separados por comas.

Si usas el operador de expresión regular, puedes crear expresiones regulares en formato RE2. Tu expresión regular puede buscar una coincidencia total o parcial en la string de la versión objetivo. También puedes usar los delimitadores ^ y $ para buscar coincidencias en el principio, el final o la totalidad de la string objetivo.

Tipo de SO == iOS
Android
 
Fecha/hora <=, > Una fecha y hora específicas en la zona horaria del dispositivo o una zona horaria específica, como “(GMT+11) Hora de Sídney”. Compara la hora actual con la fecha de recuperación del dispositivo.
Usuario en percentil aleatorio <=, > 0-100

Usa este campo para aplicar un cambio a una muestra aleatoria de instancias de la app (con tamaños de muestra mínimos del 0.0001%), con los operadores <= y > para segmentar a los usuarios (las instancias de la app) en distintos grupos.

A cada instancia de la app se le asigna en forma persistente un número fraccionario o entero, según una clave que se define en el proyecto. Una regla usa la clave predeterminada (que aparece como DEF en Firebase console) a menos que se seleccione o cree otra clave. Para que una regla vuelva a usar la clave predeterminada, puedes borrar el contenido del campo Usa la siguiente clave para seleccionar usuarios de manera aleatoria. Puedes usar una sola clave en varias reglas para identificar en forma consistente a las mismas instancias de la app dentro de un rango porcentual determinado. También puedes crear una nueva clave para elegir un grupo nuevo de instancias seleccionadas aleatoriamente para un rango porcentual determinado.

Por ejemplo, si quisieras crear dos condiciones relacionadas, cada una de las cuales debe aplicarse a un grupo distinto que incluya al 5% de los usuarios de una app, podrías usar una condición que incluya una regla de <= 5% y otra regla que incluya una regla de > 5% y otra de <= 10%. Para que algunos usuarios puedan aparecer aleatoriamente en ambos grupos, usa claves distintas para las reglas de cada condición.

Usuario en público == Selecciona una o más opciones de una lista de públicos de Google Analytics que hayas configurado para tu proyecto.

Para esta regla, es necesario que tengas una regla de ID de app, a fin de seleccionar una app vinculada con tu proyecto de Firebase.

Nota: Dado que los públicos de Analytics se definen según eventos o propiedades de los usuarios, que pueden depender de las acciones de los usuarios de la app, una regla de tipo Usuario en público podría demorar un poco en aplicarse en una instancia específica de la app.

Dispositivo en región/país == Selecciona una o varias regiones o países. Esta regla se evalúa como true en una instancia específica de la app si esta se encuentra en alguna de las regiones o los países enumerados. 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).
Idioma del dispositivo == Selecciona uno o más idiomas. Esta regla se evalúa como true en una instancia específica de la app si dicha instancia está instalada en un dispositivo que usa alguno de los idiomas enumerados.
Propiedad de usuario Si el valor es una string:
contiene,
no contiene,
coincidencia exacta,
expresión regular

Si el valor es numérico:
=, ≠, >, ≥, <, ≤

Nota: En el cliente, puedes configurar solo valores de strings para las propiedades del usuario. En el caso de las condiciones que usan operadores numéricos, el servicio de Remote Config convierte el valor de la propiedad del usuario correspondiente en un número entero/flotante.
Selecciona de una lista de propiedades del usuario disponibles en Google Analytics. Si quieres aprender a utilizar las propiedades del usuario y personalizar tu app para segmentos muy específicos de la base de usuarios, consulta Remote Config y propiedades del usuario.

Para obtener más información acerca de las propiedades de los usuarios, consulta las siguientes guías:

Si usas los operadores coincidencia exacta, contiene o no contiene, puedes proporcionar una lista de valores separados por comas.

Si usas el operador de expresión regular, puedes crear expresiones regulares en formato RE2. Tu expresión regular puede buscar una coincidencia total o parcial en la string de la versión objetivo. También puedes usar los delimitadores ^ y $ para buscar coincidencias en el principio, el final o la totalidad de la string objetivo.

Nota: Por el momento, las propiedades del usuario recopiladas automáticamente no están disponibles en la creación de condiciones de Remote Config.

Búsqueda de parámetros y condiciones

Puedes buscar las condiciones, las claves y los valores de los parámetros del proyecto en Firebase console desde el cuadro de búsqueda que se encuentra en la parte superior de la pestaña Parámetros de Remote Config.

Límites de los parámetros y las condiciones

Cada proyecto de Firebase admite un máximo de 2,000 parámetros y 500 condiciones. Las claves de parámetros pueden tener hasta 256 caracteres, deben comenzar con un guion bajo o letras que se usen en inglés (de la "A" a la "Z", en mayúscula o minúscula) y también pueden incluir números. La longitud total de las strings de valores de parámetros en un mismo proyecto no puede superar los 800,000 caracteres.

Pasos siguientes

Para comenzar a configurar tu proyecto de Firebase, consulta Cómo configurar un proyecto de Firebase con Remote Config.