RemoteConfig

Un objeto RemoteConfig representa una plantilla de Remote Config.

La plantilla de Remote Config de un proyecto se evalúa durante la recuperación de cada instancia de aplicación.

Nota: En este momento, las plantillas de servidor admiten condiciones de porcentaje. Si publicas una plantilla de servidor con valores condicionales no admitidos, se mostrará un error de validación. Consulta Remote Config en entornos de servidor para obtener más información.

El valor resuelto de un parámetro se determina de la siguiente manera:

Dado el conditional values que hace referencia a true conditions para la instancia de aplicación, el valor resuelto del parámetro es el valor condicional cuyo name es el primero en conditions list.

De lo contrario, si el parámetro tiene un default value, el valor resuelto se establece en el valor predeterminado.

De lo contrario, el parámetro no tiene valor y se omite del resultado que recupera la instancia de la aplicación.

Por ejemplo, supongamos que tenemos la clave de parámetro fruit, con el valor predeterminado pear y el submapa de valor condicional {"is_ios": "apple", "is_in_20_percent": "banana"}, en el que "is_ios" y "is_20_percent" son nombres de condiciones en la lista de condiciones ordenada. El valor de fruit se evaluaría como apple si is_ios es verdadero. De lo contrario, si is_in_20_percent es true, fruit se evaluaría como banana, y si is_ios y is_in_20_percent son falsos, fruit se evaluaría como pear. Si no se especificó ningún valor predeterminado y los valores is_ios y is_in_20_percent fueran falsos, no se mostrará ningún valor para fruit del servidor de Remote Config al cliente.

Una vez que la plantilla de Remote Config de un proyecto se publica mediante una llamada a projects.updateRemoteConfig exitosa, los clientes pueden recuperar estos valores de parámetros y mostrarlos a los usuarios.

Representación JSON
{
  "conditions": [
    {
      object (RemoteConfigCondition)
    }
  ],
  "parameters": {
    string: {
      object (RemoteConfigParameter)
    },
    ...
  },
  "version": {
    object (Version)
  },
  "parameterGroups": {
    string: {
      object (RemoteConfigParameterGroup)
    },
    ...
  }
}
Campos
conditions[]

object (RemoteConfigCondition)

Una lista de condiciones en orden descendente por prioridad.

Los valores de las entradas de google.firebase.remoteconfig.v1.RemoteConfigCondition.name deben ser únicos.

parameters

map (key: string, value: object (RemoteConfigParameter))

Asignación de las claves de parámetro a sus valores predeterminados y condicionales opcionales.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

version

object (Version)

Solo salida, excepto la versión description. Los metadatos asociados con una versión en particular de una plantilla. El campo de descripción de una versión se puede especificar en las llamadas projects.updateRemoteConfig.

parameterGroups

map (key: string, value: object (RemoteConfigParameterGroup))

Mapa de nombres de grupos de parámetros a sus descripciones y parámetros agrupados. El nombre de un grupo es mutable, pero debe ser único entre los grupos de la configuración. Tiene un límite de 256 caracteres y debe ser legible por humanos. Se permite cualquier carácter Unicode.

Los grupos tienen una lista de parámetros que permite a los usuarios de la API agrupar parámetros que están asociados con la misma función o tema para facilitar el acceso organizativo.

Por ejemplo, un grupo de parámetros con el nombre "Search V2" puede tener description "Nueva vista de búsqueda móvil" y contener parámetros para el diseño y la fuente de la nueva búsqueda.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

RemoteConfigCondition

Una condición que se orienta a un grupo específico de usuarios. Una lista de estas condiciones forma parte de un objeto RemoteConfig.

Representación JSON
{
  "name": string,
  "expression": string,
  "tagColor": enum (ConditionDisplayColor)
}
Campos
name

string

Obligatorio. Es un nombre único y no vacío de esta condición.

expression

string

Obligatorio. La lógica de esta condición.

Consulta la documentación sobre las expresiones de condición para conocer la sintaxis esperada de este campo.

tagColor

enum (ConditionDisplayColor)

Opcional. El color asociado a esta condición para fines de visualización en Firebase console. Si no se especifica este valor o si “CONDITION_DISPLAY_COLOR_UNSPECIFIED”, tendrá como resultado que la consola elija un color arbitrario para asociarlo con la condición.

EstadoDisplayColor

Lista de colores asociados con Condiciones para fines de visualización.

Enums
CONDITION_DISPLAY_COLOR_UNSPECIFIED
BLUE Azul
BROWN Brown
CYAN Cian
DEEP_ORANGE (también conocido como “naranja roja”)
GREEN Verde
INDIGO Índigo
LIME Verde lima
ORANGE Naranja
PINK Rosa
PURPLE Púrpura
TEAL Verde azulado

RemoteConfigParameter

Un valor de parámetro asociado con una clave de parámetro en google.firebase.remoteconfig.v1.RemoteConfig.parameters.

Como mínimo, debe haber una entrada defaultValue o conditionalValues para que el parámetro tenga efecto.

Representación JSON
{
  "defaultValue": {
    object (RemoteConfigParameterValue)
  },
  "conditionalValues": {
    string: {
      object (RemoteConfigParameterValue)
    },
    ...
  },
  "description": string,
  "valueType": enum (ParameterValueType)
}
Campos
defaultValue

object (RemoteConfigParameterValue)

Opcional: Valor para establecer el parámetro cuando ninguna de las condiciones con nombre se evalúa como true.

conditionalValues

map (key: string, value: object (RemoteConfigParameterValue))

Opcional: un mapa (condition name, valor) La condición_name de la prioridad más alta (la que aparece primero en la lista de condiciones de RemoteConfig) determina el valor de este parámetro.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

description

string

Opcional. Es una descripción de este parámetro. Debe tener como máximo 256 caracteres de longitud . Una descripción puede contener cualquier carácter Unicode.

valueType

enum (ParameterValueType)

El tipo de datos para todos los valores de este parámetro en la versión actual de la plantilla. Si no se especifica, el número predeterminado es ParameterValueType.STRING.

RemoteConfigParameterValue

Un recurso RemoteConfigParameterValue contiene el valor que puede tener un parámetro.

Representación JSON
{

  // Union field value_option can be only one of the following:
  "value": string,
  "useInAppDefault": boolean,
  "personalizationValue": {
    object (PersonalizationValue)
  },
  "rolloutValue": {
    object (RolloutValue)
  }
  // End of list of possible types for union field value_option.
}
Campos
Campo de unión value_option. Un RemoteConfigParameterValue consta de una cadena (valor) o un valor booleano (use_in_app_default, configurado como verdadero si corresponde). value_option puede ser solo uno de los siguientes:
value

string

El valor de cadena en el que se establece el parámetro.

useInAppDefault

boolean

Si es verdadero, el parámetro se omite de los valores del parámetro que se muestran a un cliente.

personalizationValue

object (PersonalizationValue)

Es un valor dinámico específico para el usuario que se calcula cuando se recupera la configuración.

rolloutValue

object (RolloutValue)

Es un valor de lanzamiento dinámico que administra el servicio de experimentos de Firebase ABT.

Valor de personalización

Contiene la información necesaria para recuperar un valor personalizado.

Representación JSON
{
  "personalizationId": string
}
Campos
personalizationId

string

Es el identificador que representa una definición de personalización. Esta definición se usa para resolver el valor en el momento de la recuperación de la configuración. No se debe modificar este valor generado por el sistema.

RolloutValue

Información relacionada con un lanzamiento.

Representación JSON
{
  "rolloutId": string,
  "value": string,
  "percent": number
}
Campos
rolloutId

string

Es el identificador que asocia el valor de un parámetro a un experimento de lanzamiento.

value

string

Es el valor especificado por el usuario que se lanzará.

percent

number

Es el porcentaje de usuarios que recibirán el valor del lanzamiento.

ParameterValueType

Tipos de datos aceptados para los valores de los parámetros.

Enums
PARAMETER_VALUE_TYPE_UNSPECIFIED General para valores de enumeración no reconocidos.
STRING Representa valores de cadena.
BOOLEAN Representa valores booleanos ("verdadero" o "falso").
NUMBER Representa números enteros y números flotantes positivos y negativos.
JSON Representa valores JSON.

RemoteConfigParameterGroup

Un grupo de parámetros con nombre. La agrupación de parámetros es solo con fines de administración y no afecta la recuperación de valores de parámetros del cliente.

Representación JSON
{
  "description": string,
  "parameters": {
    string: {
      object (RemoteConfigParameter)
    },
    ...
  }
}
Campos
description

string

Opcional. Es una descripción para el grupo. Debe tener como máximo 256 caracteres de longitud. Una descripción puede contener cualquier carácter Unicode.

parameters

map (key: string, value: object (RemoteConfigParameter))

Asignación de las claves de parámetros a sus valores predeterminados y condicionales opcionales para los parámetros que pertenecen a este grupo. Un parámetro solo aparece una vez por RemoteConfig: un parámetro no agrupado aparece en el nivel superior y un parámetro organizado dentro de un grupo aparece dentro del mapa de parámetros de su grupo.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.