MASTG-KNOW-0023: Atualização Obrigatória
A partir do Android 5.0 (API level 21), juntamente com a Play Core Library, os aplicativos podem ser forçados a serem atualizados. Esse mecanismo é baseado no uso do AppUpdateManager. Antes disso, outros mecanismos eram utilizados, como fazer chamadas HTTP para a Google Play Store, que não são tão confiáveis, pois as APIs da Play Store podem mudar. Alternativamente, o Firebase também poderia ser usado para verificar possíveis atualizações forçadas (veja este blog).
A atualização forçada pode ser muito útil quando se trata de public key pinning (consulte o teste de comunicação de rede para mais detalhes), principalmente quando um pin precisa ser atualizado devido à rotação de certificado/chave pública. Além disso, vulnerabilidades são facilmente corrigidas por meio de atualizações forçadas.
Observe que versões mais recentes de um aplicativo não corrigirão problemas de segurança que existem nos backends com os quais o app se comunica. Permitir que um app não se comunique com ele pode não ser suficiente. Ter um gerenciamento adequado do ciclo de vida da API é fundamental aqui. Da mesma forma, quando um usuário não é forçado a atualizar, não se esqueça de testar versões mais antigas do seu aplicativo em relação à sua API e/ou usar um versionamento adequado da API.