À medida que o app evolui, as novas versões podem introduzir alterações interruptivas nas APIs de back-end, resolver vulnerabilidades de segurança críticas ou substituir serviços e modelos de IA descontinuados. Nessas situações, as versões anteriores do app podem deixar de funcionar de maneira confiável ou segura.
Com o Remote Config, é possível controlar os requisitos de versão do app de forma dinâmica na nuvem. Ao definir parâmetros de versão em Remote Config, é possível solicitar ou exigir que os usuários atualizem o app sem implantar uma infraestrutura de servidor personalizada ou lançar uma atualização de emergência.
Escolher uma estratégia de atualização
Remote Config fornece os parâmetros de versão para avaliação no cliente, permitindo que você configure a interface de atualização do app para uma das duas estratégias, dependendo da gravidade da mudança:
- Atualização forçada (bloqueio): se uma versão anterior do app for incompatível com seu back-end ou representar um risco de segurança, você poderá bloquear o acesso ao app até que o usuário faça a atualização. Quando a versão instalada é anterior à mínima necessária, é possível configurar o app para mostrar uma caixa de diálogo que não pode ser dispensada e direciona o usuário à app store da plataforma para instalar a versão mais recente.
- Atualização flexível (opcional): se uma atualização introduzir novos recursos, melhorias de desempenho ou pequenas correções de bugs, você poderá configurar seu app para exibir um banner ou uma solicitação que pode ser dispensada, incentivando os usuários a atualizar quando quiserem, sem impedir que continuem usando o app.
Etapa 1: configurar parâmetros no console do Firebase
Para gerenciar as versões do app, defina parâmetros no modelo Remote Config:
- No console do Firebase, acesse a página DevOps e engajamento > Configuração remota > Parâmetros.
- Clique em Adicionar parâmetro ou em Criar configuração se esse for seu primeiro parâmetro.
- Defina os seguintes parâmetros:
minimum_version: uma string que representa a versão mais antiga do app com suporte (por exemplo,"2.4.0"). Os apps que executam uma versão anterior a esse valor são bloqueados até serem atualizados.latest_version(opcional): uma string que representa a versão mais recente disponível do app (por exemplo,"2.5.1"). Os apps que executam uma versão entreminimum_versionelatest_versionpodem mostrar uma recomendação de atualização opcional.update_url(opcional): o URL da loja em que os usuários podem fazer o download da atualização (como a página de detalhes na Google Play Store ou na App Store da Apple).
- Opcional: adicione condições específicas da plataforma:
- Como os apps Android e Apple geralmente usam versões de lançamento e URLs de loja diferentes, é possível adicionar valores condicionais para cada plataforma no mesmo parâmetro.
- Clique em Adicionar valor para a condição > Criar condição. Dê um nome à
condição (como
Android AppouiOS App), selecione App como a regra de segmentação e escolha seu app. - Defina a string de versão apropriada para cada condição de plataforma e mantenha o valor padrão como substituto.
- Clique em Salvar e em Publicar alterações para aplicar o modelo.
Etapa 2: implementar verificações de versão do lado do cliente
No cliente, verifique a versão do app instalado em relação aos parâmetros Remote Config durante a inicialização:
- Defina valores padrão no app: sempre forneça valores padrão seguros no
pacote do app. Por exemplo, defina
minimum_versionpara a versão inicial do app, como"1.0.0". Essa configuração de substituição garante que o app continue funcionando normalmente se o dispositivo estiver off-line ou se a solicitação de busca inicial falhar. Para orientações específicas da plataforma, consulte Fazer o download dos padrões de modelo de Remote Config. - Buscar e ativar Remote Config: busque e ative os valores de modelo mais recentes quando o app for iniciado.
Comparar versões: recupere as strings
minimum_versionelatest_versionativas e compare-as com a versão do app instalada no momento.Entre em ação com base na comparação de versões:
- Aplicar a atualização obrigatória: se
current_versionfor anterior aminimum_version, mostre um alerta modal em tela cheia que não pode ser dispensado. Desative a navegação para o restante do app e forneça um botão que abra oupdate_urlna app store da plataforma. - Solicitar atualização opcional: se
current_versionfor anterior alatest_version, mostre uma caixa de diálogo ou notificação dispensável informando aos usuários que uma atualização está disponível, com as opções Atualizar agora ou Mais tarde. - Permitir acesso: caso contrário, permita que o usuário prossiga para o app.
- Aplicar a atualização obrigatória: se
Práticas recomendadas
- Adicionar um listener em tempo real: quando as atualizações de versão são necessárias devido a problemas de segurança ou degradação séria da UX, adicionar um listener de Remote Config em tempo real ao app pode ajudar a garantir que as mudanças nos requisitos de versão entrem em vigor imediatamente nos dispositivos ativos, sem esperar pela próxima busca programada ou reinicialização do app.
- Teste com um grupo de teste limitado: antes de aumentar o
minimum_versionpara todos os usuários de produção, teste a condição com um grupo de teste limitado ou segmente testadores internos usando propriedades do usuário personalizadas. Esse teste verifica se o modal de bloqueio é exibido corretamente e se os links da loja são resolvidos de forma adequada. - Use as APIs de atualização no app da plataforma: no Android, considere integrar as atualizações no app do Google Play às verificações de Remote Config para que os usuários possam baixar e instalar atualizações sem sair do app.
- Leia as listas de verificação de produção: leia a lista de verificação de lançamento do Firebase e a lista de verificação de produção da AI Logic para mais orientações sobre como preparar seu app e os recursos de IA para produção.