Usar a API Play Integrity para detectar interações arriscadas e combater abusos

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 coleção 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 neste 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 se 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).

Dicas:

Configurar e gerenciar a API Play Integrity

Ativar a API Integrity para seu app

Importante: ao acessar ou usar a API Integrity, você concorda com os Termos de Serviço da API Play Integrity.

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:

  1. Abra o Play Console e acesse a página Integridade do app (Versão > Integridade do app).
  2. Role até a seção "API Play Integrity".
  3. Escolha "Vincular projeto existente" e o projeto a que você quer vincular.
  4. 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

As respostas da API a seguir são configuradas por padrão:

Resposta da API Rótulo Descrição
Integridade do dispositivo MEETS_DEVICE_INTEGRITY

O app está sendo executado em um dispositivo Android com o Google Play Services e o dispositivo é aprovado nas verificações de integridade do sistema e atende aos requisitos de compatibilidade do Android.

Nenhum rótulo (um valor em branco)

O app está sendo executado em um dispositivo que tem sinais de ataque, como hooks de API, ou comprometimentos do sistema, como acesso root, ou o app não está sendo executado em um dispositivo físico (como um emulador rejeitado pelas verificações de integridade do Google Play).

Detalhes da conta LICENSED

O usuário tem direito de acesso ao app. Em outras palavras, o usuário instalou ou comprou seu app no Google Play. Ele mantém a titularidade do app após a desinstalação, então a conta dele ainda vai ser licenciada se o mesmo app for instalado de outra forma.

UNLICENSED

O usuário não tem direito de acesso ao app. Isso acontece quando, por exemplo, o usuário transfere o app por sideload ou não o adquire do Google Play.

UNEVALUATED

Os detalhes de licenciamento não foram avaliados porque um requisito necessário está ausente. Isso pode acontecer por vários motivos, incluindo estes:

  • O dispositivo não é confiável o suficiente.
  • A versão do app instalada no dispositivo é desconhecida para o Google Play.
  • A versão do app instalada no dispositivo é desconhecida para o Google Play.
Integridade do aplicativo PLAY_RECOGNIZED

O app e o certificado correspondem às versões distribuídas pelo Google Play.

UNRECOGNIZED_VERSION

O nome do certificado ou do pacote não corresponde aos registros do Google Play.

UNEVALUATED

A integridade do aplicativo não foi avaliada. Um requisito necessário está ausente, por exemplo, o dispositivo não é confiável o suficiente.

 

Também é possível ativar o recebimento das seguintes respostas de API:

Resposta da API Rótulo Descrição
Integridade do dispositivo MEETS_BASIC_INTEGRITY O app está sendo executado em um dispositivo que é aprovado nas verificações básicas de integridade do sistema. O dispositivo pode não atender aos requisitos de compatibilidade do Android e não ser aprovado para executar o Google Play Services. Por exemplo, o dispositivo pode estar executando uma versão não reconhecida do Android, ter um carregador de inicialização desbloqueado ou não ter sido certificado pelo fabricante.
MEETS_STRONG_INTEGRITY

O app está sendo executado em um dispositivo Android que usa o Google Play Services e tem uma forte garantia de integridade do sistema, como um keystore protegido por hardware. O dispositivo é aprovado nas verificações de integridade do sistema e atende aos requisitos de compatibilidade do Android.

 

Depois que você aceita receber outros identificadores, a resposta de integridade passa a incluir vários identificadores do mesmo dispositivo, desde que os critérios de cada identificador sejam atendidos. Assim você pode preparar seu servidor de back-end para se comportar de maneira diferente dependendo do intervalo de respostas possíveis. Por exemplo, um dispositivo que retorna MEETS_BASIC_INTEGRITY, MEETS_DEVICE_INTEGRITY e MEETS_STRONG_INTEGRITY pode ser mais confiável do que um dispositivo que retorna somente MEETS_BASIC_INTEGRITY. Você pode adaptar o servidor para responder de acordo com isso.

Se você distribuir o app para o Google Play Games para PC, o recebimento desta resposta da API vai ser ativado automaticamente:

Também é possível ativar o recebimento das seguintes respostas da API:

Resposta da API Rótulo Descrição
Integridade do dispositivo MEETS_VIRTUAL_INTEGRITY O app está sendo executado em um emulador Android com o Google Play Services. O emulador foi aprovado nas verificações de integridade do sistema e atende aos principais requisitos de compatibilidade do Android.


Para editar suas respostas da API, faça o seguinte:

  1. Abra o Play Console e acesse a página Integridade do app (Versão > Integridade do app).
  2. Role a tela até a seção "API Play Integrity".
  3. Clique em Configurações.
  4. Role a tela até a seção "Respostas".
  5. Clique em Editar.
  6. Marque ou desmarque as caixas de seleção ao lado das respostas de API que você quer mudar.
  7. 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:

  1. Abra o Play Console e acesse a página Integridade do app (Versão > Integridade do app).
  2. Role a tela até a seção "API Play Integrity".
  3. Clique em Configurações.
  4. 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.
  5. Escolha "Gerenciar e fazer o download das minhas próprias chaves de criptografia de resposta." e clique em Salvar alterações. O Google gera chaves de criptografia de resposta para você fazer o download e gerenciar. É preciso atualizar a lógica do servidor de back-end para descriptografar as respostas com as chaves.
  6. Siga as instruções na tela para gerar um arquivo .pem e faça upload dele para fazer o download das chaves de API.
  7. Uma mensagem na tela confirmará que o gerenciamento da criptografia de resposta foi atualizado.
  8. Faça o download das novas chaves de criptografia de resposta e atualize o servidor de back-end para descriptografar as respostas com elas na produção. Volte à guia API Integrity na página Integridade do app para permitir que o Google Play comece a usar as novas chaves de criptografia de resposta em vez das chaves legadas. Essa mudança é imediata.

Se quiser mudar de volta para o gerenciamento pelo Google, siga estas etapas:

  1. Abra o Play Console e acesse a página Integridade do app (Versão > Integridade do app).
  2. Role a tela até a seção "API Play Integrity".
  3. Clique em Configurações.
  4. 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 Alterar.
  5. 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 vai chamar o servidor do Google Play para descriptografar as respostas.

Testar a integração da API Play Integrity

Você pode configurar uma lista de contas do Gmail para testar a integração da API Integrity. Primeiro confira se os testadores têm acesso à sua versão:

Para configurar um teste, siga estas etapas:

  1. Abra o Play Console e acesse a página Integridade do app (Versão > Integridade do app).
  2. Role a tela até a seção "API Play Integrity".
  3. Clique em Configurações.
  4. Role a tela até a seção "Teste".
  5. Clique em Criar novo teste.
  6. Selecione uma lista de e-mails ou crie uma nova.
  7. Clique em Criar teste.

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:

  1. Abra o Play Console e acesse a página Integridade do app (Versão > Integridade do app).
  2. Role a tela até a seção "API Play Integrity".
  3. Confira o número de solicitações diárias. Clique em Exibir relatório da API Integrity para acessar mais dados, mudar o período e aplicar filtros.

Para conferir o máximo de solicitações diárias do app:

  1. Abra o Play Console e acesse a página Integridade do app (Versão > Integridade do app).
  2. Role a tela até a seção "API Play Integrity".
  3. Clique em Configurações.
  4. 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

Isso foi útil?
Como podemos melhorá-lo?

Precisa de mais ajuda?

Siga as próximas etapas:

Pesquisa
Limpar pesquisa
Fechar pesquisa
Google Apps
Menu principal
14117841885458778339
true
Pesquisar na Central de Ajuda
true
true
true
true
true
92637