Parámetros y condiciones de Remote Config


Puedes configurar plantillas para casos de uso de clientes y servidores. Las plantillas de cliente se entregan a cualquier instancia de app que implemente los SDK de cliente de Firebase para Remote Config, incluidos Android, Apple, Web, Unity, Flutter y las apps de C++. Los parámetros y valores de Remote Config desde las plantillas específicas del servidor se entregan a las implementaciones de Remote Config (incluidos Cloud Run y Cloud Functions) que usan la versión 12.1.0 o una posterior del SDK de Firebase Admin para Node.js.

Cuando usas Firebase console o las APIs de backend de Remote Config, puedes definir uno o más parámetros (pares clave-valor) y proporcionarles valores predeterminados en la app. Puedes anular los valores predeterminados de la app mediante la definición de valores de parámetros. 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.

Con Firebase console, Admin SDK o la API de REST de Remote Config, puedes crear nuevos valores predeterminados para tus parámetros, así como valores condicionales que se usan para segmentar los cambios para grupos de instancias de la app. Cada vez que actualizas la configuración en Firebase console, Firebase 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. Estas operaciones están disponibles en Firebase console, Firebase Admin SDK y la API de REST, y se describen con más detalles en Administra las versiones de plantilla de Remote Config.

En esta guía, se explican los parámetros, las condiciones, las reglas, los valores condicionales y cómo se priorizan los diferentes valores de parámetros en el backend de Remote Config y en tu app. Además, se proporcionan detalles sobre los tipos de reglas que se usan para crear las condiciones.

Condiciones, reglas y valores condicionales

Las condiciones permiten orientarse a un grupo de instancias de apps y constan de una o más reglas que se deben evaluar como true para que se considere que el valor de la condición es true en una instancia específica de la app. Si el valor de una regla no está definido (por ejemplo, cuando no hay un valor disponible), esta se evaluará como false.

Por ejemplo, puedes crear un parámetro que defina el nombre y la cadena de versión de un modelo de lenguaje grande (LLM) y publique respuestas de diferentes modelos según reglas de indicadores personalizados. En este caso de uso, puedes usar una versión de modelo estable como valor predeterminado para entregar la mayoría de las solicitudes y usar el indicador personalizado para utilizar un modelo experimental para responder las solicitudes de prueba del cliente.

Los parámetros pueden tener varios valores con distintas condiciones y compartir condiciones dentro de un proyecto. En la pestaña Parámetros de Firebase console, puedes consultar el porcentaje de recuperación de los valores condicionales de cada parámetro. Esta métrica indica el porcentaje de solicitudes que recibió cada valor en las últimas 24 horas.

Prioridad de los valores de los parámetros

Cuando usas Remote Config en apps de servidor con Firebase Admin SDK, recuperas y cargas toda la plantilla para extraer los valores de los parámetros adecuados a pedido para cada solicitud del cliente. Un parámetro puede tener varios valores condicionales asociados.

Las siguientes reglas determinan qué valor se asigna durante la evaluación de la plantilla en un momento determinado:

  1. Primero, se aplican valores condicionales para cualquier condición que se evalúe como true para una solicitud de cliente determinada. Si varias condiciones se evalúan como true, tiene prioridad la primera que se muestra (en la parte superior) en la IU de Firebase console y se proporcionan los valores condicionales asociados a esa condición cuando se evalúa la plantilla. Para cambiar la prioridad de las condiciones, puedes arrastrarlas y soltarlas en la pestaña Condiciones.

  2. Si no hay valores condicionales cuyas condiciones se evalúen como true, se proporciona el valor predeterminado de Remote Config durante la evaluación de la plantilla. Si un parámetro no existe en la plantilla o si el valor predeterminado se estableció en Usar la configuración predeterminada en la app, no se proporcionará ningún valor para ese parámetro cuando se evalúe la plantilla.

Para obtener más información acerca de cómo cargar y evaluar plantillas de Remote Config en apps de servidor, consulta Usa Remote Config en entornos de servidor.

Tipos de datos del valor del parámetro

Remote Config te permite seleccionar un tipo de datos para cada parámetro y valida todos los valores de Remote Config según ese tipo antes de actualizar la plantilla. El tipo de datos se almacena y se muestra en una solicitud getRemoteConfig.

Los tipos de datos admitidos son los siguientes:

  • String
  • Boolean
  • Number
  • JSON

En la IU de Firebase console, el tipo de datos se puede seleccionar en un menú desplegable junto a la clave del parámetro. En la API de REST, los tipos se pueden establecer con el campo value_type dentro del objeto de parámetro.

Grupos de parámetros

Remote Config te permite agrupar parámetros para tener una IU más organizada y mejorar la usabilidad.

Por ejemplo, supongamos que debes habilitar o inhabilitar tres tipos de autenticación diferentes mientras implementas una nueva función de acceso. Con Remote Config, puedes crear los tres parámetros para habilitar los tipos que desees y, luego, organizarlos en un grupo llamado "Nuevo acceso", sin necesidad de agregar prefijos ni ordenamiento especial.

Puedes crear grupos de parámetros con Firebase console o la API de REST de Remote Config. Cada grupo de parámetros que creas tiene un nombre único en tu plantilla de Remote Config. Cuando crees grupos de parámetros, ten en cuenta lo siguiente:

  • Los parámetros se pueden incluir en un solo grupo a la vez y las claves de parámetro deben ser únicas entre todos los parámetros.
  • Los nombres de los grupos de parámetros tienen un límite de 256 caracteres.
  • Si usas la API de REST y Firebase console, asegúrate de que la lógica de la API de REST esté actualizada para controlar los grupos de parámetros en la publicación.

Crea o modifica grupos de parámetros con Firebase console

Puedes agrupar los parámetros en la pestaña Parámetros de Firebase console. Para crear o modificar un grupo, sigue estos pasos:

  1. Selecciona Administrar grupos.
  2. Marca las casillas de verificación de los parámetros que deseas agregar y selecciona Mover a grupos.
  3. Selecciona un grupo existente, o bien crea uno nuevo. Para ello, ingresa un nombre y una descripción, y selecciona Crear grupo nuevo. Después de guardar un grupo, puedes publicarlo con el botón Publicar cambios.

Tipos de reglas de las condiciones

Las plantillas de Remote Config para aplicaciones de servidor admiten los siguientes tipos de condiciones:

Usuario en porcentaje aleatorio

Usa este campo para aplicar un cambio en una muestra aleatoria de instancias de la app (con tamaños de muestra mínimos del 0.0001%), con el widget de control deslizante para segmentar a los usuarios aleatorios (instancias de la app) en grupos.

A cada instancia de la app se le asigna en forma persistente un número fraccionario o entero aleatorio, según un valor semilla que se define en el proyecto.

Las reglas usarán la clave predeterminada (que aparece como Editar valor inicial en Firebase console), a menos que modifiques el valor de origen. Una regla puede volver a usar la clave predeterminada; para ello, borra el contenido del campo Valor de origen.

Para abordar de manera coherente las mismas instancias de la app dentro de un rango porcentual determinado, usa el mismo valor de origen en todas las condiciones. También puedes seleccionar un nuevo grupo de instancias de app asignado al azar para un rango porcentual determinado; para ello, especifica un valor de origen nuevo.

Por ejemplo, si quisieras crear dos condiciones relacionadas que se apliquen, cada una, a un 5% no superpuesto de los usuarios de una app, puedes configurar una condición para que coincida con un porcentaje entre el 0% y el 5%, y configurar otra condición para que coincida con un rango entre el 5% y el 10%. Para permitir que algunos usuarios aparezcan de forma aleatoria en ambos grupos, usa valores de origen diferentes para las reglas dentro de cada condición.

Para obtener información acerca de cómo agregar condiciones de porcentaje aleatorio a tu aplicación, consulta Configura tu aplicación de servidor.

Indicadores personalizados

Con el SDK de Firebase Admin para Node.js 12.5.0 y versiones posteriores, puedes usar el tipo de condición Indicador personalizado para hacer coincidir condiciones arbitrarias que definas en tu aplicación. Esto te permite adaptar la respuesta del servidor para cada solicitud del cliente.

Por ejemplo, si trabajas en una app de servidor que usa IA generativa para ayudar a crear respuestas con diferentes modelos ajustados para plataformas específicas, podrías hacer lo siguiente:

  1. Agrega los parámetros prompt y model_name a tu plantilla de servidor de Remote Config.
  2. Agrega indicadores personalizados con un valor de platform para cada plataforma a la que quieras orientarte.
  3. Agrega valores predeterminados a tu plantilla de Remote Config específica del servidor y valores condicionales para cada condición de la plataforma que definiste.
  4. Actualiza el código de tu aplicación para establecer y usar el indicador personalizado platform.

Ahora, tu app puede extraer la instrucción y el modelo adecuados durante la evaluación de la plantilla y usarlos para mostrar respuestas personalizadas a cada cliente.

Puedes usar los siguientes tipos de reglas para crear indicadores personalizados en Firebase console.

Categoría de operador Operadores Valor Nota
Texto coincide exactamente, contiene, no contiene, contiene la regex

Las comparaciones entre strings para esta regla distinguen entre mayúsculas y minúsculas. Cuando usas los operadores coincide exactamente, contiene, no contiene o contiene la regex, puedes elegir más de un valor.

Cuando usas el operador contiene la regex, puedes crear expresiones regulares en formato RE2. Tu expresión regular puede buscar una coincidencia total o parcial en la cadena 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 cadena objetivo.

Números <, <=, =, !=, >, >= Es un número con no más de diez dígitos a cada lado del punto decimal.
Versiones <, <=, =, !=, >, >= Es un número que representa los números de versión que deben coincidir (por ejemplo, 2.1.0).

Para obtener información acerca de cómo agregar indicadores personalizados a tu aplicación, consulta Configura tu aplicación de servidor.

Parámetros y condiciones de búsqueda

Puedes buscar las condiciones, las claves y los valores de los parámetros del proyecto en Firebase console con 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 1,000,000 de caracteres.

Visualiza los cambios en los parámetros y las condiciones

Puedes ver los cambios más recientes en tus plantillas de Remote Config desde la Firebase console. Para cada parámetro y condición individual, puedes hacer lo siguiente:

  • Consultar el nombre del usuario que modificó por última vez el parámetro o la condición.

  • Si el cambio ocurrió el mismo día, consulta la cantidad de minutos o de horas que transcurrieron desde que se publicó el cambio en la plantilla activa de Remote Config.

  • Si el cambio ocurrió hace uno o más días, consulta la fecha en la que se publicó el cambio en la plantilla activa de Remote Config.

Historial de cambios de los parámetros

En la página Parámetros de Remote Config, la columna Fecha de la última publicación muestra el último usuario que modificó cada parámetro y la fecha de la última publicación del cambio:

  • Para ver metadatos de cambios de parámetros agrupados, expande el grupo de parámetros.

  • Para ordenar de forma ascendente o descendente por fecha de publicación, haz clic en la etiqueta de la columna Fecha de la última publicación.

Historial de cambios de las condiciones

En la página Remote Config Condiciones, puedes ver el último usuario que modificó la condición y la fecha en que se modificó junto a Modificación más reciente debajo de cada condición.

Próximos pasos

Para configurar tu proyecto de Firebase y tu app de servidor para que usen Remote Config, consulta Usa Remote Config en entornos de servidor.