Você pode usar a API Play Integrity para proteger apps e jogos contra interações arriscadas. Ao identificar essas interações, o app pode responder adequadamente para reduzir o risco de ataques e abuso.
Como funciona
A API Integrity unifica os recursos contra abuso do Google Play com uma série de indicadores de integridade para ajudar os desenvolvedores de apps e jogos Android a detectar tráfego potencialmente arriscado e fraudulento. Esse tráfego pode ser proveniente de versões modificadas do seu app ou jogo, de dispositivos não confiáveis ou de outros ambientes não confiáveis. Ao detectar esse tráfego, é possível responder com a ação adequada para reduzir ataques e abusos, como em casos de fraude, trapaça e acesso não autorizado.
Quando um usuário realiza uma ação definida pelo app ou jogo, o servidor instrui o código do lado do cliente a invocar a API Integrity. O servidor do Google Play retorna uma resposta criptografada com um veredito de integridade informando se você pode confiar no dispositivo e no binário dele. O app encaminha essa resposta ao servidor para verificação. O servidor pode decidir o que o app ou jogo fará a seguir.
A API envia um veredito de integridade em uma resposta que inclui as seguintes informações:
- Binário genuíno do app: determina se você está interagindo com o binário não modificado reconhecido pelo Google Play.
- Instalação genuína do Play: determina se a conta atual é licenciada, o que indica que o usuário instalou ou pagou pelo app ou jogo no Google Play.
- Dispositivo Android genuíno: determina se o app está sendo executado em um dispositivo Android genuíno com a tecnologia do Google Play Services (ou uma instância genuína do Google Play Games para PC).
Você também pode receber mais informações sobre o ambiente no veredito de integridade:
- Risco de acesso a apps: verifica se outros apps estão em execução e podem capturar a tela, mostrar sobreposições sobre o app ou controlar o dispositivo.
- Risco de malware conhecido: verifica se o Google Play Protect está ativado e se encontrou malware conhecido no dispositivo.
Dicas:
- É possível monitorar o status da API Play Integrity e de outros serviços usando o painel de status do Google Play.
- A API Integrity oferece um melhor resultado quando você segue todas as práticas recomendadas na documentação do site para desenvolvedores Android.
Configurar e gerenciar a API Play Integrity
Ativar a API Integrity para seu app
Para ativar as respostas da API Integrity para seu app, é necessário vincular um projeto do Google Cloud ao Play Console. Para vincular o projeto, siga estas etapas:
- Abra o Play Console e acesse a página Integridade do app (Testar e lançar > Integridade do app).
- Role a tela até a seção "API Play Integrity".
- Escolha "Vincular projeto existente" e o projeto a que você quer vincular.
- Clique em Vincular projeto do Cloud.
Para começar a integrar a API Integrity ao app, faça o seguinte:
- Para apps em Java/Kotlin, instale a biblioteca Android mais recente disponível para a API Play Integrity no repositório Maven do Google.
- Para jogos do Unity, instale a versão mais recente dos plug-ins do Google Play para Unity. Todas as versões 2019.x, 2020.x e mais recentes são compatíveis. Se você usar a Unity 2018.x, instale a versão 2018.4 ou mais recente. Caso use a Unity 2017.x, instale a versão 2017.4.40 ou mais recente. As versões Unity 5.x e mais antigas não são compatíveis.
- Para apps e jogos nativos, instale o SDK nativo do Play Core mais recente.
Siga estas etapas no site para desenvolvedores Android e comece a usar a API Play Integrity no seu app ou jogo.
(Opcional) Personalizar respostas da API Integrity
Para saber como configurar as respostas da API Integrity, acesse o site para desenvolvedores Android.
Para editar suas respostas da API, faça o seguinte:
- Abra o Play Console e acesse a página Integridade do app (Testar e lançar > Integridade do app).
- Role a tela até a seção "API Play Integrity".
- Clique em Configurações.
- Role a tela até a seção "Respostas".
- Clique em Editar.
- Marque ou desmarque as caixas de seleção ao lado das respostas de API que você quer mudar.
- Clique em Salvar alterações.
Importante: as mudanças nas respostas da API entrarão em vigor imediatamente após serem salvas, inclusive quando seu app estiver em produção. Antes de mudar o conjunto de respostas da API no Play Console, confira se o servidor está preparado para aceitar essas respostas.
(Opcional) Definir as configurações de solicitação clássica
Por padrão, o Google gerencia sua criptografia de respostas para solicitações clássicas. No entanto, você pode optar por gerenciar esse recurso.
Importante: alternar entre a criptografia de resposta gerenciada pelo Google e autogerenciada exige alterações de código no servidor de back-end.
Para gerenciar por conta própria a criptografia de respostas, faça o seguinte:
- Abra o Play Console e acesse a página Integridade do app (Testar e lançar > Integridade do app).
- Role a tela até a seção "API Play Integrity".
- Clique em Configurações.
- Role a tela até a seção "Solicitações clássicas". Ao lado de "Criptografia de resposta", o status vai ser "Gerenciadas pelo Google" por padrão. Clique em Alterar.
- Escolha "Gerenciar e fazer o download das minhas próprias chaves de criptografia de resposta". O Google gera chaves de criptografia de resposta para você baixar e gerenciar. É preciso atualizar a lógica do servidor de back-end para descriptografar as respostas com as chaves.
- Siga as instruções na tela para gerar um arquivo .pem e faça upload dele para fazer o download das chaves de API.
- Clique em Salvar alterações.
- Uma mensagem na tela confirmará que o gerenciamento da criptografia de resposta foi atualizado.
- O download das novas chaves de criptografia de resposta será feito automaticamente. Para fazer o download delas no futuro, clique em Baixar chaves.
Se quiser mudar de volta para o gerenciamento pelo Google, siga estas etapas:
- Abra o Play Console e acesse a página Integridade do app (Testar e lançar > Integridade do app).
- Role a tela até a seção "API Play Integrity".
- Clique em Configurações.
- Role a tela até a seção "Solicitações clássicas". Ao lado de "Criptografia de resposta", o status vai ser "Autogerenciada", porque você o alterou antes. Clique em Editar.
- Escolha "Permitir que o Google gerencie minhas chaves de criptografia de resposta (recomendado)." e clique em Salvar alterações. O Google criará e gerenciará as chaves de criptografia de resposta. O servidor de back-end precisa chamar o servidor do Google Play para descriptografar as respostas.
Testar a integração da API Play Integrity
Para testar a integração da API Integrity, configure uma lista de contas do Gmail. Primeiro, confira se os testadores têm acesso à sua versão. Publique o app na faixa de teste interno ou na faixa em que você pretende fazer o teste. Em seguida, siga as instruções para gerenciar testadores por endereço de e-mail ou use os Grupos do Google. Assim os testadores poderão acessar sua versão.
Para configurar um teste, siga estas etapas:
- Abra o Play Console e acesse a página Integridade do app (Testar e lançar > Integridade do app).
- Role a tela até a seção "API Play Integrity".
- Clique em Configurações.
- Role a tela até a seção "Teste".
- Clique em Criar novo teste.
- Selecione uma lista de e-mails ou crie uma nova.
- Clique em Criar teste.
Personalizar a página Detalhes do app acessada pelas caixas de diálogo da API Integrity
Você pode usar uma caixa de diálogo de correção da API Integrity para pedir que os usuários que baixaram o app não oficial o instalem pelo Google Play. Após tocarem na caixa de diálogo, ela vai redirecionar para a página Detalhes do app, onde será possível tocar no botão "Instalar" (ou "Comprar"/"Atualizar") para adicionar o app à biblioteca do Google Play do usuário.
Você pode personalizar os recursos da página Detalhes do app para todos os visitantes que tocarem nas caixas de diálogo de correção da API Integrity, incluindo o nome, ícone, descrições e recursos gráficos do app. Para personalizar a página Detalhes do app acessada pela caixa de diálogo da API Integrity:
- Abra o Play Console e acesse a página Integridade do app (Testar e lançar > Integridade do app).
- Role a tela até a seção "API Play Integrity".
- Clique em Configurações.
- Role a tela até a seção "Personalizar página 'Detalhes do app'".
- Clique em Criar Detalhes do app.
- Siga as instruções na página Criar página "Detalhes do app" personalizada e clique em Salvar.
Também é possível criar páginas Detalhes do app personalizadas para caixas de diálogo da API Integrity diretamente em "Páginas Detalhes do app personalizadas":
- Abra o Play Console e acesse a página Páginas Detalhes do app personalizadas (Aumente o número de usuários > Páginas Detalhes do app personalizadas).
- Clique em Criar Detalhes do app, escolha se quer criar ou duplicar uma página de detalhes e clique em Próxima.
- Em "Detalhes da entrada", encontre a seção "Público-alvo".
- Selecione Por URL e digite "playintegrity" na caixa de texto.
- Insira todos os outros detalhes e clique em Salvar.
Dica: o parâmetro de URL "playintegrity" é uma palavra-chave especial reservada para links diretos de integridade. Por isso, ele precisa ser inserido de forma exata ao configurar a página Detalhes do app personalizada.
Aumentar o máximo de solicitações diárias da API Play Integrity
Por padrão, os apps podem fazer até 10 mil solicitações por dia para a API Integrity.
Para conferir o volume de solicitações diárias do app:
- Abra o Play Console e acesse a página Integridade do app (Testar e lançar > Integridade do app).
- Role a tela até a seção "API Play Integrity".
- Confira o número de solicitações diárias. Para acessar mais dados, mudar o período e aplicar filtros, clique em Exibir relatório da API Integrity.
Para ver o máximo de solicitações diárias do app:
- Abra o Play Console e acesse a página Integridade do app (Testar e lançar > Integridade do app).
- Role a tela até a seção "API Play Integrity".
- Clique em Configurações.
- Confira o nível de uso.
É possível pedir para fazer mais de 10 mil solicitações por dia. Para se qualificar, você precisa:
- Confirmar a implementação correta da lógica da API, incluindo novas tentativas
- Publicar o app no Google Play, além de em outros canais de distribuição
Para aumentar o número máximo de solicitações diárias, preencha este formulário.
Conteúdo relacionado
- Leia a documentação da API Play Integrity para desenvolvedores.
- Assista este vídeo de visão geral sobre a API Play Integrity.
- Saiba mais sobre os serviços de assinatura e integridade no Play Console.
- Saiba mais sobre os serviços de integridade e assinatura no site para desenvolvedores Android.