Mishaal Rahman / Autoridade Android
Resumo
- A API de integridade do Google Play permite que os aplicativos verifiquem se sua conta é “sem licença”, o que significa que você não instalou ou comprou o aplicativo no Google Play.
- Mais importante ainda, o aplicativo pode mostrar uma caixa de diálogo de correção informando que é preciso baixar o aplicativo do Google Play para continuar usando-o.
- Esse recurso de correção foi introduzido em maio durante o Google I/O e já está sendo usado por alguns jogos para bloquear o carregamento lateral.
Há muitos motivos pelos quais você pode querer fazer sideload de aplicativos no seu telefone Android, mas também há bons motivos pelos quais os desenvolvedores gostariam de bloquear o sideload. Um aplicativo sideload não contribuirá para as métricas da Play Store do desenvolvedor, por exemplo, mas também impede que o desenvolvedor selecione quais dispositivos podem usar seu aplicativo. Aplicativos sideloaded incorretamente também podem travar devido a ativos ou código ausentes, ou podem estar faltando certos recursos porque você instalou a versão errada para seu dispositivo. Seja qual for o motivo, os desenvolvedores que querem impedir que você faça sideload de seus aplicativos agora têm uma maneira mais fácil de fazer isso graças à API Play Integrity.
A API de integridade do Google Play é uma interface que ajuda os desenvolvedores a “verificar se as interações e solicitações do servidor vêm de [their] aplicativo binário genuíno em execução em um dispositivo Android genuíno.” Ele procura evidências de que o aplicativo foi adulterado, que o aplicativo está sendo executado em um ambiente de software “não confiável”, que o dispositivo tem o Google Play Protect habilitado e muito mais. Se você já ouviu falar ou lidou com o SafetyNet Attestation antes em um telefone com root, então provavelmente já está familiarizado com o Play Integrity, mesmo que não tenha esse nome. O Play Integrity é o sucessor do SafetyNet Attestation, só que vem com ainda mais recursos para desenvolvedores.
Como é o caso do SafetyNet Attestation, os desenvolvedores chamam a Play Integrity API em qualquer ponto do aplicativo, recebem o que é chamado de veredito de integridade e, então, decidem o que querem fazer a partir daí. Alguns aplicativos chamam a Play Integrity API quando são iniciados e bloqueiam o acesso completamente, dependendo do veredito, enquanto outros só chamam a API quando você está prestes a executar uma ação sensível, para que eles possam avisá-lo de que você não deve prosseguir. A Play Integrity API facilita para os aplicativos descarregar a determinação de se o dispositivo e seu ambiente de software são “genuínos” e, com a atualização mais recente da API, os aplicativos agora podem determinar facilmente se a pessoa que os instalou também é “genuína”.
Durante sua conferência de desenvolvedores Google I/O em maio, o Google introduziu a capacidade de aplicativos mostrarem certos diálogos de “remediação” quando há um problema com um veredito de integridade. Por exemplo, quando o appLicensingVerdict
retorna “UNLICENSED
” no veredito de integridade, significa que a conta de usuário atual não é licenciada, ou seja, você não instalou ou comprou o aplicativo na Google Play Store. Em resposta a isso, os desenvolvedores podem usar a API Play Integrity para mostrar o GET_LICENSED
caixa de diálogo de correção para solicitar que você obtenha o aplicativo deles na Play Store. Se você aceitar, sua conta será licenciada (ou seja, na próxima vez appLicensingVerdict
retornará “LICENSED
” no veredito de integridade), o aplicativo é adicionado à sua biblioteca da Play Store e receberá atualizações futuras por meio da Play Store.
Aqui está uma demonstração da nova API do Play Integrity GET_LICENSED
caixa de diálogo de correção, cortesia de um aplicativo de código aberto feito pelo desenvolvedor linuxct para demonstrar a nova funcionalidade:
Mishaal Rahman / Autoridade Android
Como você pode ver, o diálogo de correção diz para você “obter este aplicativo do Play” para continuar usando-o. Há uma opção para fechar o diálogo, mas não há como ignorá-lo completamente. Se você fechar o diálogo, uma resposta é enviada ao aplicativo que permite que o desenvolvedor saiba para que ele possa decidir se deseja continuar bloqueando o acesso.
Se você prosseguir tocando em “obter aplicativo”, a página inicial do aplicativo na Play Store será aberta, onde um botão “instalar do Play” será exibido no lugar do botão “instalar” usual. Tocar no botão exibe uma caixa de diálogo que pergunta se você deseja “instalar este aplicativo do Play”. Ao prosseguir, a versão “não reconhecida” do aplicativo será removida junto com quaisquer dados associados.
Os desenvolvedores tinham outros meios de detectar se seus aplicativos foram carregados lateralmente antes que esse recurso fosse introduzido na API Play Integrity, mas essa mudança torna mais fácil para os desenvolvedores implementarem esse tipo de verificação. Não sabemos se algum aplicativo está usando esse recurso em particular ainda, mas é bem provável que alguns jogos o usem. Os aplicativos Tesco e BeyBlade X parecem estar usando esse recurso já, enquanto o popular jogo Diablo Immortal parece estar usando algo semelhante a esse recurso.
À medida que o Google continua a reforçar os mecanismos de detecção do Play Integrity e adicionar novos recursos, vai se tornar cada vez mais difícil para usuários avançados justificarem o root do Android. Ao mesmo tempo, usuários regulares estarão mais protegidos de interações potencialmente arriscadas e fraudulentas, então está claro que o Play Integrity continuará a ser adotado por mais e mais aplicativos. Ele já é usado por vários aplicativos populares no Google Play, incluindo Stripe, Uber e TikTok, e provavelmente veremos mais pessoas o adotando com o passar do tempo.