O Google cumpriu sua promessa de melhorar as lojas de aplicativos de terceiros no Android, permitindo que instalassem aplicativos em segundo plano no Android 12.
No final de setembro do ano passado, o Google anunciado que estará "fazendo mudanças em Andróide 12...para tornar ainda mais fácil para as pessoas usarem outras lojas de aplicativos em seus dispositivos, tomando cuidado para não comprometer as medidas de segurança que o Android implementa" em resposta a pressão de montagem da Epic Games e reguladores governamentais. No entanto, o Google não especificou exatamente quais mudanças eles fariam no Android e também não compartilharam nenhuma informação específica sobre essa mudança em E/S do Google 2021. No Google postagem oficial no blog ao anunciar o Android 12, no entanto, a empresa confirmou que está “cumprindo [sua] promessa de tornar aplicativos de terceiros armazena mais fácil de usar no Android 12." Graças à documentação do desenvolvedor, finalmente temos uma ideia sobre quais mudanças estão sendo feito.
O Google atualizou o PackageInstaller do Android. Classe SessionParams com um novo método chamado setRequireUserAction. Este método indica se a ação do usuário deve ou não ser necessária antes que a instalação de um aplicativo seja permitida. O padrão é verdadeiro para qualquer aplicativo que contenha o REQUEST_INSTALL_PACKAGES permissão, que é necessária para qualquer aplicativo antes que ele possa iniciar uma sessão de instalação para fazer o sideload de um aplicativo fora do Google Play ou de qualquer loja de aplicativos pré-instalada no dispositivo.
No entanto, a ação do usuário não vai será necessário para a instalação/atualização de um aplicativo se todos das seguintes condições forem atendidas:
- O instalador opta pelo novo comportamento.
- O aplicativo que está sendo instalado é direcionado ao nível 29 da API (Android 10) ou superior. (O Google observa que o requisito de nível de API alvo avançará em versões futuras do Android, uma política que está alinhada com Política do Google Play no requisito de destino da API.)
- O instalador está se atualizando ou instalando uma atualização para um aplicativo instalado pela primeira vez.
- O instalador declara o
UPDATE_PACKAGES_WITHOUT_USER_ACTION
permissão.
Assim, quando uma app store tenta iniciar uma sessão de instalação e utiliza esta nova API, deve ser possível que a atualização aconteça sem que o usuário tenha que aceitá-la manualmente. Isso tornará a atualização de aplicativos em lote muito mais rápida e deixará a experiência mais alinhada com a Google Play Store.