| Selecione o tipo de modelo: | Modelos de cliente Modelos de servidor |
É possível disponibilizar parâmetros e valores de Remote Config de modelos específicos do servidor para implementações de Remote Config (incluindo Cloud Run e Cloud Functions for Firebase) que usam os seguintes ambientes de servidor:
- SDK Admin para Node.js do Firebase v12.1.0 e mais recentes
- SDK Admin para Python do Firebase v6.7.0 e mais recentes
- SDK Admin para Go do Firebase v4.17.0+
- SDK Admin para Java do Firebase v9.7.0+
Ao usar o console de Firebase ou as APIs de back-end de Remote Config, você define um ou mais parâmetros (pares de chave-valor) e informa valores padrão para esses parâmetros no código do servidor. É possível substituir os valores padrão definindo valores de parâmetros no modelo Remote Config. As chaves e os valores de parâmetros são strings, mas os valores podem ser transmitidos como outros tipos de dados quando você os usa no app.
Com o console de Firebase, Admin SDK ou a API REST de Remote Config, é possível criar novos valores padrão para os parâmetros, além de valores condicionais usados para segmentar grupos de solicitações de clientes. Sempre que você atualiza a configuração no console do Firebase, o Firebase cria e publica uma nova versão do modelo de Remote Config. A versão anterior é armazenada, o que permite fazer uma recuperação ou reversão conforme necessário. Essas operações estão disponíveis no console de Firebase, em Firebase Admin SDK e na API REST e são descritas em mais detalhes em Gerenciar versões de modelos de Remote Config.
Este guia explica parâmetros, condições, regras, valores condicionais e como vários valores de parâmetros são priorizados no back-end de Remote Config e no app do servidor. Ele também contém detalhes sobre os tipos de regras usadas para criar condições.
Condições, regras e valores condicionais
Uma condição é usada para segmentar um grupo de solicitações do cliente. As condições são constituídas por uma ou mais regras que precisam ser avaliadas como true para que a condição seja avaliada como true em uma determinada solicitação de cliente. Se o valor de uma regra for indefinido (por exemplo, quando não houver valor disponível), essa regra será avaliada como false.
Por exemplo, é possível criar um parâmetro que defina o nome e a string de versão de um modelo de linguagem grande (LLM) e disponibilizar respostas de diferentes modelos com base em regras de indicador personalizado. Nesse caso, você pode usar uma versão estável do modelo como o valor padrão para atender à maioria das solicitações e usar o indicador personalizado para utilizar um modelo experimental e responder às solicitações de teste dos clientes.
Um parâmetro pode ter vários valores condicionais que usam condições diferentes, e os parâmetros podem compartilhar condições em um projeto. No console do Firebase, acesse a página DevOps e engajamento > Configuração remota > Parâmetros para conferir a porcentagem de busca dos valores condicionais de cada parâmetro. Essa métrica indica a porcentagem de solicitações nas últimas 24 horas que receberam cada valor.
Adicionar, editar, reordenar ou excluir condições usando o console Firebase
É possível criar, editar, reordenar e excluir condições de segmentação no console do Firebase. As condições são compartilhadas entre parâmetros em um projeto. Veja como gerenciar condições:
- No console do Firebase, acesse DevOps e engajamento > Configuração remota > página Condições (ou selecione Gerenciar condições na página Parâmetros).
- Adicionar uma condição: clique em Adicionar condição (ou Criar sua primeira condição), insira um nome que defina o objetivo de segmentação e selecione uma ou mais regras de segmentação.
- Editar uma condição: clique no nome da condição ou no ícone de edição, modifique as regras conforme necessário e clique em Salvar.
- Mudar a prioridade da condição: na página Condições, arraste as condições pela alça para reordená-las. As condições mais altas na lista têm precedência sobre as mais baixas.
- Excluir uma condição: clique no ícone de exclusão ao lado da condição que você quer remover. Se a condição for referenciada por algum parâmetro, a remoção dela também vai remover os valores condicionais associados.
Depois de salvar as mudanças na condição, publique o modelo usando Publicar alterações.
Limitação do IPv6 com controle de acesso baseado em IP
O Remote Config tem compatibilidade limitada com IPv6 quando usado com políticas de acesso baseadas em IP. Se a organização restringir o acesso a intervalos de IP público específicos, a conexão por uma rede IPv6 poderá causar os seguintes problemas:
- Acesso ao console: talvez não seja possível usar determinados recursos do Remote Config no console Firebase, como carregar dados ou configurar o direcionamento.
- Acesso do cliente: os apps cliente podem encontrar erros PERMISSION_DENIED.
Para evitar esses problemas, configure sua rede para usar IPv4 ou adicione os intervalos de IP necessários do Firebase à lista de permissões da sua organização.
Prioridade dos valores de parâmetros
Quando você usa Remote Config em apps de servidor com Firebase Admin SDK, você busca e carrega o modelo inteiro para extrair os valores de parâmetro adequados sob demanda para cada solicitação dos clientes. Um parâmetro pode ter diversos valores condicionais associados.
Estas regras determinam qual valor é atribuído durante a avaliação do modelo em um determinado momento:
Primeiro, os valores condicionais são aplicados a qualquer condição avaliada como
truepara uma determinada solicitação de cliente. Se várias condições forem avaliadas comotrue, a primeira (superior) mostrada na interface do console de Firebase terá precedência e os valores condicionais associados a ela serão fornecidos quando o modelo for avaliado. É possível alterar a prioridade das condições ao arrastá-las e soltá-las na página Condições.Se não houver valores condicionais com condições que sejam avaliadas como
true, o valor padrão de Remote Config será fornecido durante a avaliação do modelo. Se um parâmetro não existir no modelo ou o valor padrão estiver definido como Usar padrão no app, nenhum valor será fornecido para o parâmetro quando o modelo for avaliado.
Para saber como carregar e avaliar modelos de Remote Config em apps de servidor, consulte Usar Remote Config em ambientes de servidor.
Tipos de dados de valores de parâmetros
Remote Config permite selecionar um tipo de dados para cada parâmetro e
valida todos os valores de Remote Config em relação a esse tipo antes de uma atualização
de modelo. O tipo de dados é armazenado e retornado em uma
solicitação getRemoteConfig.
Os tipos de dados compatíveis são:
StringBooleanNumberJSON
Na interface do console de Firebase, o tipo de dados pode ser selecionado em um
menu suspenso ao lado da chave de parâmetro. Na API REST, é possível definir os tipos usando
o campo value_type no objeto de parâmetro.
Grupos de parâmetros
Remote Config permite agrupar parâmetros para ter uma interface mais organizada e melhorar a usabilidade.
Por exemplo, imagine que você precisa ativar ou desativar três tipos diferentes de autenticação ao lançar um novo recurso de login. Com Remote Config, é possível criar os três parâmetros para ativar os tipos que você quer e organizá-los em um grupo chamado Novo login, sem necessidade de adicionar prefixos ou classificação especial.
É possível criar grupos de parâmetros usando o console de Firebase ou a API REST de Remote Config. Cada grupo de parâmetros criado tem um nome exclusivo no modelo de Remote Config. Ao criar grupos de parâmetros, lembre-se do seguinte:
- Os parâmetros podem ser incluídos em apenas um grupo por vez, e uma chave de parâmetro ainda precisa ser exclusiva em todos os parâmetros.
- Os nomes dos grupos de parâmetros são limitados a 256 caracteres.
- Se você usar a API REST e o console de Firebase, verifique se qualquer lógica da API REST está atualizada para lidar com grupos de parâmetros na publicação.
Criar ou modificar grupos de parâmetros usando o console de Firebase
É possível agrupar parâmetros no console do Firebase. Veja como criar ou modificar um grupo:
- No console do Firebase, acesse a página DevOps e engajamento > Configuração remota > Parâmetros.
- Selecione Gerenciar grupos.
- Marque as caixas de seleção dos parâmetros que você quer adicionar e selecione Mover para o grupo.
- Para selecionar um grupo atual ou criar um novo grupo, digite um nome e uma descrição e selecione Criar novo grupo. Depois de salvar um grupo, ele estará disponível para ser publicado usando o botão Publicar alterações.
Tipos de regra de condição
Os modelos de Remote Config para aplicativos de servidor são compatíveis com os seguintes tipos de condição:
Usuário na porcentagem aleatória
Use esse campo para aplicar uma alteração a uma amostra aleatória de instâncias de app (com tamanhos de amostra de 0,0001%), usando o widget de controle deslizante para segmentar usuários de maneira aleatória (instâncias de app) em grupos.
Cada instância de app é associada de maneira permanente a um número aleatório inteiro ou fracionário, de acordo com uma semente definida no projeto.
Uma regra vai usar a chave padrão (mostrada como Editar semente no console de Firebase), a menos que você modifique o valor de semente. Desmarque o campo Semente para fazer com que uma regra volte a usar a chave padrão.
Para referenciar consistentemente as mesmas instâncias de app em determinados intervalos de porcentagem, use o mesmo valor de semente em todas as condições. Também é possível selecionar um novo grupo de instâncias de app atribuído aleatoriamente para um determinado intervalo de porcentagem especificando uma nova semente.
Por exemplo, para criar duas condições relacionadas em que cada uma se aplica a 5% não sobrepostos dos usuários de um app, configure uma condição para corresponder a uma porcentagem entre 0% e 5% e outra para corresponder a um intervalo de 5% a 10%. Para permitir que alguns usuários apareçam de maneira aleatória nos dois grupos, use valores de semente diferentes para as regras em cada condição.
Para saber como adicionar condições de porcentagem aleatória ao app, consulte Configurar o app do servidor.
Condições de indicadores personalizados
É possível usar os valores condicionais de Indicador personalizado para corresponder a condições arbitrárias definidas no aplicativo. Com isso, é possível personalizar a resposta do servidor para cada solicitação do cliente. As condições de indicador personalizados são compatíveis com as seguintes versões de ambientes de servidor:
- SDK Admin para Node.js do Firebase v12.1.0 e mais recentes
- SDK Admin para Python do Firebase v6.7.0 e mais recentes
- SDK Admin para Go do Firebase v4.17.0+
- SDK Admin para Java do Firebase v9.7.0+
Por exemplo, ao trabalhar em um app de servidor que usa IA generativa para criar respostas com diferentes modelos ajustados para plataformas específicas, faça o seguinte:
- Adicione os parâmetros
promptemodel_nameao modelo de servidor de Remote Config. - Adicione condições de indicadores personalizados com um valor de
platformpara cada plataforma que você quer segmentar. - Adicione valores padrão ao modelo de Remote Config específico do servidor e valores condicionais para cada condição de plataforma definida.
- Atualize o código do aplicativo para definir e usar o indicador personalizado
platform.
Agora, o app pode extrair o comando e o modelo adequados durante a avaliação do modelo e usá-los para retornar respostas personalizadas a cada cliente.
Você pode usar os seguintes tipos de regras para criar condições de indicador personalizado no console de Firebase.
| Categoria de operador | Operadores | Valor |
|---|---|---|
| Texto | corresponde exatamente, contém, não contém, contém regex |
As comparações de strings para essa regra diferenciam maiúsculas de minúsculas. Ao usar o operador corresponde exatamente, contém, não contém ou contém regex, é possível selecionar vários valores. Ao usar o operador contém regex, é possível criar expressões regulares no formato RE2. A expressão regular precisa corresponder à toda a string de versão de destino ou a parte dela. Use as âncoras ^ e $ para corresponder ao começo, ao final ou a toda uma string de destino. |
| Números | <, <=, =, !=, >, >= | Número com no máximo 10 dígitos de cada lado do ponto decimal. |
| Versões | <, <=, =, !=, >, >= | Número que representa os números de versão a serem correspondidos (por exemplo, 2.1.0). |
Para saber como adicionar indicadores personalizados ao app, consulte Configurar o app de servidor.
Parâmetros e condições de pesquisa
Pesquise as chaves de parâmetro, os valores de parâmetro e as condições do projeto no console de Firebase usando a caixa de pesquisa na parte superior da página DevOps e engajamento > Configuração remota > Parâmetros.
Limites de parâmetros e condições
Dentro de um projeto do Firebase, você tem até 3.000 parâmetros e 2.000 condições. As chaves dos parâmetros podem ter até 256 caracteres e precisam começar com sublinhado ou uma letra (A-Z, a-z), além de incluir números. O tamanho total das strings dos valores de parâmetro não pode exceder 1.000.000 caracteres. Além disso, as regras de condição baseadas em propriedades do usuário podem incluir até 100 valores de propriedade do usuário. Para acessar uma lista completa de limites, consulte Cotas e limites.
Conferir as mudanças nos parâmetros e nas condições
É possível conferir as mudanças mais recentes nos modelos de Remote Config no console de Firebase. Para cada parâmetro e condição individual, é possível:
Ver o nome do usuário que modificou o parâmetro ou a condição pela última vez.
Se a mudança ocorreu no mesmo dia, confira o número de minutos ou horas decorridos desde a publicação no modelo ativo de Remote Config.
Se a mudança ocorreu há um ou mais dias, confira a data em que ela foi publicada no modelo ativo de Remote Config.
Histórico de alterações de parâmetros
No console do Firebase, acesse a página DevOps e engajamento > Configuração remota > Parâmetros. A coluna Última publicação mostra o último usuário que modificou cada parâmetro e a data da última publicação da mudança:
Para ver os metadados de mudança dos parâmetros agrupados, expanda o grupo de parâmetros.
Para classificar em ordem crescente ou decrescente por data de publicação, clique no rótulo da coluna Última publicação.
Histórico de alterações de condições
No console do Firebase, acesse DevOps e engajamento > Configuração remota > página Condições. É possível conferir o último usuário que modificou a condição e a data da modificação ao lado de Última modificação, abaixo de cada condição.
Próximas etapas
Para configurar o projeto do Firebase e o app do servidor para usar Remote Config, consulte Usar Remote Config em ambientes de servidor.