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 ( |
Campos | |
---|---|
conditions[] |
Uma lista de condições em ordem decrescente por prioridade. Os valores das entradas |
parameters |
Mapa das chaves de parâmetro para os valores padrão e condicionais opcionais. Um objeto com uma lista de pares |
version |
Apenas saída, exceto para a versão |
parameterGroups |
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 Um objeto com uma lista de pares |
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 ( |
Campos | |
---|---|
name |
Obrigatório. Um nome exclusivo e não vazio dessa condição. |
expression |
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 |
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 ( |
Campos | |
---|---|
defaultValue |
Opcional: valor para definir o parâmetro quando nenhuma das condições nomeadas for avaliada como |
conditionalValues |
Opcional: um mapa ( Um objeto com uma lista de pares |
description |
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 |
O tipo de dados para todos os valores deste parâmetro na versão atual do modelo. Quando não especificado, o padrão é |
RemoteConfigParameterValue
Um recurso RemoteConfigParameterValue contém o valor que um parâmetro pode ter.
Representação JSON |
---|
{ // Union field |
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 |
O valor da string que define o parâmetro. |
useInAppDefault |
Se verdadeiro, o parâmetro é omitido dos valores de parâmetro retornados para um cliente. |
personalizationValue |
Um valor dinâmico específico do usuário calculado quando a configuração é buscada. |
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 |
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 |
O identificador que associa um valor de parâmetro a um experimento de lançamento. |
value |
O valor especificado pelo usuário a ser implantado. |
percent |
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 ( |
Campos | |
---|---|
description |
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 |
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 |