O Firebase vai estar no Google I/O em 10 de maio! Inscreva-se agora

Estratégias de carregamento da Configuração remota do Firebase

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

A Configuração remota do Firebase oferece muita flexibilidade sobre como e quando buscar novos valores do servidor e ativá-los no seu app. Isso permite que você tenha uma experiência do usuário final de qualidade ao controlar o tempo das alterações de configuração visíveis. Neste guia, vamos analisar algumas estratégias de carregamento e discutir as principais considerações na hora de escolher a melhor opção para seu app.

Estratégia 1: buscar e ativar no carregamento

Nesta estratégia, seu app chamaria fetchAndActivate() quando ele for inicializado pela primeira vez para buscar novos valores da Configuração remota e ativá-los assim que o carregamento estiver concluído. Essa abordagem simples funciona bem para alterações de configuração que não causam alterações visuais significativas na IU. Ela precisa ser evitada em qualquer situação em que sua IU possa mudar de forma perceptível enquanto os usuários estiverem usando.

Estratégia 2: ativar por trás da tela de carregamento

Uma solução para o possível problema da IU encontrado na estratégia 1 seria usar uma tela de carregamento. Em vez de iniciar seu app imediatamente, exiba uma tela de carregamento e chame fetchAndActivate no seu gerenciador de conclusão. Depois disso, use novamente um retorno de chamada ou uma notificação. Dispense a tela de carregamento e permita que o usuário comece a interagir com o app.

Caso você use essa estratégia, recomendamos incluir um tempo limite à tela de carregamento. O tempo limite de um minuto da Configuração remota pode ser muito longo para uma experiência de inicialização do app de qualidade para os usuários.

Estratégia 3: carregar novos valores para a próxima inicialização

Uma estratégia eficaz seria carregar novos valores de configuração para serem ativados na próxima inicialização do seu app. Nessa estratégia, seu app ativa os valores buscados na inicialização antes de tentar buscar novos valores. Isso pressupõe que ele já tenha feito a busca antes, mas os valores ainda não foram ativados. Veja abaixo a ordem de operações para essa estratégia:

  1. Na inicialização, ative imediatamente os valores buscados. Isso aplica, quase instantaneamente, todos os valores salvos do servidor em uma sessão anterior.
  2. Enquanto o usuário interage com o app, inicie uma chamada assíncrona para buscar novos valores de acordo com o intervalo mínimo de busca padrão.
  3. Nenhuma ação é necessária no callback ou no gerenciador de conclusão da chamada de busca. Seu app manterá os valores salvos até que você os ative na próxima vez que ele for iniciado.

Essa estratégia minimiza muito o tempo de espera do usuário. No entanto, o usuário precisa executar seu app uma segunda vez para ver a configuração mais recente. Será necessário equilibrar essas considerações com relação à sua lógica de negócios e de apps.

Estratégias de carregamento a serem evitadas

Como você pôde perceber na discussão acima sobre as vantagens e desvantagens do carregamento, há alguns padrões de uso a serem evitados.

  • Não atualize ou altere aspectos da IU enquanto o usuário estiver visualizando ou interagindo com ela, a menos que você tenha fortes motivos comerciais ou relacionados ao app, como remover opções referentes a uma promoção que acabou de ser encerrada.
  • Não envie números em massa de solicitações de busca simultâneas, porque isso pode resultar na limitação do servidor. Os riscos dessa situação acontecer são baixos na maioria dos cenários de produção, mas pode ser um problema durante o desenvolvimento ativo. Veja as orientações sobre limitação para Plataformas da Apple e Android.
  • Não dependa da conectividade de rede para receber os valores da Configuração remota. Defina os valores de parâmetros padrão no app para que o app sempre se comporte conforme esperado. É possível manter os valores padrão do back-end do app e da Configuração remota periodicamente em sincronia usando os padrões de modelo salvos.

Próximas etapas

Essas três estratégias básicas não compõem, de forma alguma, uma lista completa das maneiras de carregar valores de configuração. Dependendo das suas necessidades, é possível criar estratégias mais sofisticadas, como as atualizações de segundo plano baseadas em função descritas em Propagar atualizações em tempo real.

Confira a referência de API da sua plataforma e saiba mais sobre as chamadas específicas para buscar e ativar os valores de configuração.