Entenda a configuração remota em tempo real


A Configuração remota em tempo real permite que você receba chaves e valores de parâmetros atualizados assim que forem publicados no servidor. Isso permite atualizar rapidamente qualquer tipo de atributo de aplicativo controlado usando um valor de parâmetro do Configuração remota. Com atualizações em tempo real do Configuração remota, você pode:

  • Reduza os riscos implementando recursos de forma incremental para usuários específicos e executando uma reversão de emergência, se necessário.
  • Aumente o envolvimento do usuário personalizando rapidamente as experiências do usuário à medida que usam o aplicativo. Por exemplo, você pode atualizar banners e oferecer incentivos para usuários que correspondam a propriedades específicas de usuário do Google Analytics ou ajustar dinamicamente a dificuldade do jogo para grupos de jogadores.
  • Reduza as dependências de build e aumente a produtividade do desenvolvedor: use os parâmetros do Configuração remota como sinalizadores de recursos para expor funcionalidades para suas equipes de desenvolvimento e teste, mantendo-as ocultas para os usuários em produção.

Para saber mais sobre como usar o Configuração remota, consulte O que você pode fazer com a Configuração remota?

Neste guia, você:

  • Saiba mais sobre o relacionamento cliente-servidor que oferece suporte a atualizações em tempo real.
  • Entenda como funciona a funcionalidade em tempo real do SDK.
  • Saiba como usar atualizações em tempo real para manter a configuração do seu aplicativo atualizada.

A conexão cliente-servidor em tempo real

Ao implementar a Configuração remota em tempo real no seu aplicativo, você cria um listener em tempo real que abre uma conexão HTTP com o back-end da Configuração remota. A solicitação inclui a versão de configuração atualmente armazenada em cache no dispositivo. O servidor de Configuração remota em tempo real usa uma mensagem de invalidação para sinalizar ao aplicativo quando uma versão mais recente de uma configuração do lado do servidor deve ser buscada.

Caso o servidor possua uma versão mais recente, ele envia imediatamente o sinal de invalidação. Caso não possua uma versão mais recente, mantém a conexão aberta e aguarda até que uma seja publicada no servidor. Quando o SDK do cliente recebe um sinal de invalidação, ele o busca automaticamente e, em seguida, chama o retorno de chamada do ouvinte registrado quando você abriu a conexão do ouvinte. Essa busca é semelhante à chamada de busca que você pode fazer com o SDK, mas ignora qualquer configuração de cache ou minimumFetchInterval . A conexão cliente-servidor é mantida enquanto o aplicativo está em primeiro plano.

Fluxo de trabalho cliente-servidor da Configuração remota em tempo real

Como a conexão cliente-servidor é feita via HTTP, não requer nenhuma dependência de outras bibliotecas.

Ouça as atualizações

As atualizações em tempo real complementam as chamadas fetch do Configuração remota. Recomendamos chamar fetch quando o app for iniciado (ou em algum momento durante o ciclo de vida do app) e ouvir atualizações em tempo real da Configuração remota durante a sessão do usuário para garantir que você tenha os valores mais recentes assim que forem publicados no servidor.

Para ouvir atualizações, chameaddOnConfigUpdateListener ,implementando um retorno de chamada que é invocado sempre que uma atualização do Configuração remota está disponível no aplicativo . Nos bastidores, essa chamada começa a detectar atualizações do servidor do Configuração remota. Para saber mais sobre o relacionamento cliente-servidor, consulte a seção anterior .

O retorno de chamada geralmente é um bom lugar para usar activate para disponibilizar os parâmetros de configuração atualizados para seu aplicativo. Consulte Estratégias de carregamento da Configuração remota do Firebase para conhecer estratégias adicionais para ativar valores de parâmetros ao usar a Configuração remota em tempo real.

Ativar seletivamente valores de parâmetros

Quando você chamaaddOnConfigUpdateListener ,você pode aguardar a alteração e ativá-la.

O retorno de chamada onUpdate é chamado quando uma nova versão do modelo é buscada automaticamente e quando essa nova versão apresenta alterações nos valores dos parâmetros atualmente ativados no aplicativo.

Esses retornos de chamada são invocados com um parâmetro configUpdate . configUpdate contémupdatedKeys ,que é o conjunto de chaves de parâmetros alteradas que iniciaram a atualização em tempo real e inclui o seguinte:

  • Chaves de parâmetro adicionadas ou removidas
  • Chaves de parâmetro cujos valores foram alterados
  • Chaves de parâmetro cujos metadados foram alterados (por exemplo, informações de personalização do Configuração remota)
  • Chaves de parâmetro cuja origem do valor foi alterada (por exemplo, um valor padrão no aplicativo atualizado para um valor do lado do servidor)

Se você estiver usando um ouvinte em tempo real em uma visualização específica do seu aplicativo, poderá verificar se os parâmetros relevantes para essa visualização foram alterados antes da ativação.

Ocasionalmente, uma busca (iniciada quando você chama o método fetch ou pela Configuração remota em tempo real) não resulta em uma atualização para o cliente. Nesses casos, o método ou conclusãoonUpdatenão será chamado.

Adicionar e remover ouvintes

addOnConfigUpdateListeneré o principal ponto de entrada para Configuração remota em tempo real. Chamar esse ouvinte pela primeira vez no ciclo de vida do seu aplicativo abre a conexão com o back-end. As chamadas subsequentes reutilizam a mesma conexão, multiplexando a mensagem de invalidação descrita na conexão cliente-servidor em tempo real .

A chamada retorna um "registro de ouvinte", que possui um método chamadoremove .

Para parar de ouvir, armazene a referência ao registro do ouvinte. Chame remove para parar de ouvir neste registro. Se for o único ouvinte registrado, chamar remove fecha a conexão em tempo real com o servidor.

Embora você possa parar manualmente de escutar atualizações, muitas vezes isso não é necessário. A Configuração remota em tempo real para automaticamente de ouvir atualizações quando o aplicativo entra em segundo plano e reinicia quando o aplicativo está em primeiro plano.

Próximos passos

Confira Primeiros passos com a Configuração remota do Firebase para configurar a Configuração remota e começar a ouvir atualizações em tempo real .