获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

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

O Firebase Remote Config oferece muita flexibilidade para saber como e quando buscar novos valores do servidor e ativá-los em seu aplicativo, permitindo que você garanta uma experiência de usuário final de qualidade controlando o tempo de qualquer alteração de configuração visível. Este guia analisa algumas estratégias de carregamento e discute as principais considerações para escolher a melhor opção para seu aplicativo.

Estratégia 1: Buscar e ativar no carregamento

Nessa estratégia, seu aplicativo chamaria fetchAndActivate() quando seu aplicativo fosse iniciado pela primeira vez para buscar novos valores do Remote Config e ativá-los assim que terminassem de carregar. Essa abordagem simples funciona bem para alterações de configuração que não causam alterações visuais drásticas em sua IU. Deve ser evitado em qualquer situação em que sua interface do usuário possa mudar visivelmente enquanto os usuários estiverem usando-a.

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

Como solução para o possível problema de interface do usuário encontrado na estratégia 1, você pode contar com uma tela de carregamento. Em vez de iniciar seu aplicativo imediatamente, mostre uma tela de carregamento e chame fetchAndActivate em seu manipulador de conclusão. Em seguida, novamente usando um retorno de chamada ou uma notificação, descarte a tela de carregamento e permita que o usuário comece a interagir com seu aplicativo.

Se você usar essa estratégia, é recomendável adicionar um tempo limite à tela de carregamento. O tempo limite de um minuto do Remote Config pode ser muito longo para uma experiência de inicialização de aplicativo de qualidade para os usuários.

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

Uma estratégia eficaz é carregar novos valores de configuração para ativar na próxima inicialização do seu aplicativo. Nessa estratégia, seu aplicativo ativa os valores buscados na inicialização antes de tentar buscar novos valores, operando na suposição de que já pode ter buscado — mas ainda não ativado — novos valores de configuração. A ordem das operações para esta estratégia é:

  1. Na inicialização, ative imediatamente os valores buscados anteriormente. Isso aplica todos os valores que você baixou do servidor em uma sessão anterior e é quase instantâneo.
  2. Enquanto o usuário interage com seu aplicativo, inicie uma chamada assíncrona para buscar novos valores de acordo com o intervalo mínimo de busca padrão.
  3. No manipulador de conclusão ou retorno de chamada para a chamada de busca, não faça nada. Seu aplicativo manterá os valores baixados até que você os ative na próxima vez que o aplicativo for iniciado.

Com essa estratégia, o tempo de espera do usuário é bastante minimizado. No entanto, o usuário deve executar seu aplicativo uma segunda vez para ver a configuração mais recente. Você precisará equilibrar essas considerações com a lógica do seu negócio e do aplicativo.

Carregando anti-estratégias

Como você deve ter entendido na discussão acima sobre carregar prós e contras, há alguns padrões de uso a serem evitados.

  • Não atualize ou troque aspectos da interface do usuário enquanto o usuário estiver visualizando ou interagindo com ela, a menos que você tenha fortes motivos comerciais ou de aplicativo para fazer isso, como remover opções relacionadas a uma promoção que acabou de terminar.
  • Não envie um grande número de solicitações de busca simultâneas, o que pode fazer com que o servidor limite seu aplicativo. Os riscos disso acontecer são baixos na maioria dos cenários de produção, mas pode ser um problema durante o desenvolvimento ativo. Confira as orientações de limitação para plataformas Android e Apple .
  • Não confie na conectividade de rede para obter valores do Remote Config. Defina valores de parâmetro padrão no aplicativo para que seu aplicativo sempre se comporte conforme o esperado. Você pode manter periodicamente os valores padrão do aplicativo e do back-end do Configuração remota sincronizados usando os padrões de modelo baixados .

Próximos passos

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

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