RemoteConfig

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 la 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 la aplicación, el valor resuelto del parámetro es el valor condicional cuyo name es el primero de 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 ordenada de condiciones. 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á como banana, y si is_ios y is_in_20_percent son falsos, fruit se evaluará como pear. Si no se especificó ningún valor predeterminado, y los valores de is_ios y is_in_20_percent son falsos, el servidor de Remote Config no mostrará ningún valor para fruit al cliente.

Una vez que la plantilla de Remote Config de un proyecto se publica mediante una llamada 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 google.firebase.remoteconfig.v1.RemoteConfigCondition.name deben ser únicos.

parameters

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

Asignación de las claves de parámetros a sus valores predeterminados opcionales y valores 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 para la versión description. Metadatos asociados con una versión particular de una plantilla. El campo de descripción de una versión se puede especificar en llamadas a projects.updateRemoteConfig.

parameterGroups

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

Asignación de los 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. El nombre tiene un límite de 256 caracteres y debe ser legible. Se permite cualquier carácter Unicode.

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

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

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

RemoteConfigCondition

Es 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. 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 Expresiones de condición para conocer la sintaxis esperada de este campo.

tagColor

enum (ConditionDisplayColor)

Opcional. Es el color asociado con esta condición con fines de visualización en Firebase console. No se especifica este valor o tiene el estado "CONDITION_DISPLAY_COLOR_UNSPECIFIED" Esto hace que la consola elija un color arbitrario para asociarlo con la condición.

CondiciónDisplayColor

Lista de colores asociados con las 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 configurar 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). El condition_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 para este parámetro. Debe tener una longitud inferior o igual a 256 caracteres . Las descripciones pueden contener caracteres 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.

Valor del parámetro RemoteConfig

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. RemoteConfigParameterValue consiste en una cadena (valor) o un valor booleano (use_in_app_default, establecido en verdadero si corresponde). value_option puede ser solo uno de los siguientes:
value

string

Es el valor de cadena en el que se configura 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)

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

rolloutValue

object (RolloutValue)

Un valor de lanzamiento dinámico administrado por el servicio de experimento de Firebase ABT

PersonalizationValue

Contiene la información necesaria para obtener 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. Este valor generado por el sistema no se debe modificar.

Valor de lanzamiento

Información relacionada con un lanzamiento.

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

string

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

value

string

El valor especificado por el usuario que se lanzará.

percent

number

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 Se aplica a los valores de enumeración no reconocidos.
STRING Representa valores de cadena.
BOOLEAN Representa valores booleanos ("true" o "false").
NUMBER Representa números enteros positivos y negativos, y valores de número de punto flotante.
JSON Representa valores JSON.

RemoteConfigParameterGroup

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

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

string

Opcional. Es una descripción del grupo. Su longitud debe ser menor o igual que 256 caracteres. Las descripciones pueden contener caracteres Unicode.

parameters

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

Asignación de las claves de parámetros a sus valores predeterminados opcionales y valores 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. 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" }.