RemoteConfig

Um RemoteConfig representa um modelo da Configuração remota.

O modelo do Configuração remota de um projeto é avaliado durante a busca de cada instância do aplicativo.

Observação: atualmente, os modelos de servidor oferecem suporte a condições de porcentagem. A publicação de um modelo de servidor com valores condicionais sem suporte vai retornar um erro de validação. Consulte Configuração remota em ambientes de servidor para mais informações.

O valor resolvido de um parâmetro é determinado desta forma:

Considerando o conditional values que se refere a true conditions para a instância do aplicativo, o valor resolvido do parâmetro é o valor condicional em que name é o primeiro no conditions list.

Caso contrário, se o parâmetro tiver um default value, o valor resolvido vai ser definido como o padrão.

Caso contrário, o parâmetro não terá valor e será omitido do resultado buscado pela instância do aplicativo.

Por exemplo, suponha que temos a chave de parâmetro fruit, com o valor padrão pear e o submapa de valor condicional {"is_ios": "apple", "is_in_20_percent": "banana"}, em que "is_ios" e "is_20_percent" são nomes de condições na lista de condições ordenadas. O valor de fruit seria avaliado como apple se is_ios fosse verdadeiro. Caso contrário, se is_in_20_percent fosse true, fruit seria avaliado como banana, e se is_ios e is_in_20_percent fossem falsos, fruit seria avaliado como pear. Se nenhum valor padrão for especificado e is_ios e is_in_20_percent forem falsos, nenhum valor de fruit será retornado do servidor da Configuração remota para o cliente.

Depois que o modelo da Configuração remota de um projeto é publicado com uma chamada projects.updateRemoteConfig, os clientes podem buscar esses valores de parâmetro e mostrá-los aos usuários.

Representação JSON
{
  "conditions": [
    {
      object (RemoteConfigCondition)
    }
  ],
  "parameters": {
    string: {
      object (RemoteConfigParameter)
    },
    ...
  },
  "version": {
    object (Version)
  },
  "parameterGroups": {
    string: {
      object (RemoteConfigParameterGroup)
    },
    ...
  }
}
Campos
conditions[]

object (RemoteConfigCondition)

Uma lista de condições em ordem decrescente por prioridade.

Os valores das entradas google.firebase.remoteconfig.v1.RemoteConfigCondition.name precisam ser exclusivos.

parameters

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

Mapa das chaves de parâmetro para os valores padrão e condicionais opcionais.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

version

object (Version)

Apenas saída, exceto para a versão description. Metadados associados a uma versão específica de um modelo. O campo de descrição de uma versão pode ser especificado em chamadas projects.updateRemoteConfig.

parameterGroups

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

Mapa dos nomes de grupos de parâmetros para as respectivas descrições e parâmetros agrupados. O nome do grupo é mutável, mas precisa ser exclusivo entre os grupos na configuração. O nome está limitado a 256 caracteres e é legível. Qualquer caractere Unicode é permitido.

Os grupos têm uma lista de parâmetros que permite que os usuários da API agrupem parâmetros associados ao mesmo recurso ou tema para facilitar o acesso organizacional.

Por exemplo, um grupo de parâmetros com o nome "Pesquisa V2" pode ter o description "Nova visualização de pesquisa para dispositivos móveis" e conter parâmetros para o layout e a fonte da nova pesquisa.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

RemoteConfigCondition

Uma condição que segmenta um grupo específico de usuários. Uma lista dessas condições faz parte de um objeto RemoteConfig.

Representação JSON
{
  "name": string,
  "expression": string,
  "tagColor": enum (ConditionDisplayColor)
}
Campos
name

string

Obrigatório. Um nome exclusivo e não vazio dessa condição.

expression

string

Obrigatório. A lógica dessa condição.

Consulte a documentação referente às Expressões de condição para obter a sintaxe esperada desse campo.

tagColor

enum (ConditionDisplayColor)

Opcional. A cor associada a esta condição para fins de exibição no Console do Firebase. Não especificar esse valor ou ter "CONDITION_DISPLAY_COLOR_UNSPECIFIED" faz com que o console escolha uma cor arbitrária para associar à condição.

ConditionDisplayColor

Lista de cores associadas às condições para fins de exibição.

Tipos enumerados
CONDITION_DISPLAY_COLOR_UNSPECIFIED
BLUE Azul
BROWN Brown
CYAN Ciano
DEEP_ORANGE também conhecido como “Laranja vermelha”
GREEN Verde
INDIGO Índigo
LIME Lima
ORANGE Laranja
PINK Rosa
PURPLE Roxo
TEAL Azul-petróleo

RemoteConfigParameter

Um valor de parâmetro associado a uma chave de parâmetro em google.firebase.remoteconfig.v1.RemoteConfig.parameters.

No mínimo, uma entrada defaultValue ou conditionalValues precisa estar presente para que o parâmetro tenha efeito.

Representação JSON
{
  "defaultValue": {
    object (RemoteConfigParameterValue)
  },
  "conditionalValues": {
    string: {
      object (RemoteConfigParameterValue)
    },
    ...
  },
  "description": string,
  "valueType": enum (ParameterValueType)
}
Campos
defaultValue

object (RemoteConfigParameterValue)

Opcional: valor para definir o parâmetro quando nenhuma das condições nomeadas for avaliada como true.

conditionalValues

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

Opcional: um mapa (condition name, valor). O state_name da prioridade mais alta (a primeira listada na lista de condições do RemoteConfig) determina o valor desse parâmetro.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

description

string

Opcional. Uma descrição para este parâmetro. Seu comprimento deve ser menor ou igual a 256 caracteres . Uma descrição pode conter qualquer caractere Unicode.

valueType

enum (ParameterValueType)

O tipo de dados para todos os valores deste parâmetro na versão atual do modelo. Quando não especificado, o padrão é ParameterValueType.STRING.

RemoteConfigParameterValue

Um recurso RemoteConfigParameterValue contém o valor que um parâmetro pode ter.

Representação 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ão value_option. Um RemoteConfigParameterValue consiste em uma string (valor) ou um booleano (use_in_app_default, definido como verdadeiro, se aplicável). value_option só pode ser de um dos seguintes tipos:
value

string

O valor da string que define o parâmetro.

useInAppDefault

boolean

Se verdadeiro, o parâmetro é omitido dos valores de parâmetro retornados para um cliente.

personalizationValue

object (PersonalizationValue)

Um valor dinâmico específico do usuário calculado quando a configuração é buscada.

rolloutValue

object (RolloutValue)

Um valor de lançamento dinâmico gerenciado pelo serviço do Firebase ABT Experiment.

Valor da personalização

Contém as informações necessárias para buscar um valor personalizado.

Representação JSON
{
  "personalizationId": string
}
Campos
personalizationId

string

Identificador que representa uma definição de personalização. Essa definição é usada para resolver o valor no momento de busca da configuração. Esse valor gerado pelo sistema não pode ser modificado.

LançamentoValue

Informações relacionadas a um lançamento.

Representação JSON
{
  "rolloutId": string,
  "value": string,
  "percent": number
}
Campos
rolloutId

string

O identificador que associa um valor de parâmetro a um experimento de lançamento.

value

string

O valor especificado pelo usuário a ser implantado.

percent

number

A porcentagem de usuários que vão receber o valor do lançamento.

ParameterValueType

Tipos de dados aceitos para valores de parâmetro.

Tipos enumerados
PARAMETER_VALUE_TYPE_UNSPECIFIED "pega-tudo" para valores de tipo enumerado não reconhecidos.
STRING Representa valores de String.
BOOLEAN Representa os valores booleanos ("true" ou "false").
NUMBER Representa valores inteiros positivos e negativos e flutuantes.
JSON Representa valores JSON.

RemoteConfigParameterGroup

Um grupo nomeado de parâmetros. Os parâmetros de agrupamento servem apenas para gerenciamento e não afetam a busca de valores de parâmetro no lado do cliente.

Representação JSON
{
  "description": string,
  "parameters": {
    string: {
      object (RemoteConfigParameter)
    },
    ...
  }
}
Campos
description

string

Opcional. Uma descrição para o grupo. O tamanho deve ser inferior ou igual a 256 caracteres. Uma descrição pode conter qualquer caractere Unicode.

parameters

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

Mapa das chaves de parâmetro para os valores padrão opcionais e valores condicionais opcionais para parâmetros que pertencem a este grupo. Um parâmetro aparece apenas uma vez por RemoteConfig: um parâmetro desagrupado aparece no nível superior, e um parâmetro organizado dentro de um grupo aparece no mapa de parâmetros do grupo.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.