Vereditos aprimorados em dispositivos Android 13 e mais recentes

Recentemente, anunciamos que reforçamos os vereditos da API Play Integrity para torná-los mais rápidos, mais resilientes contra ataques e mais privados para os usuários, além de outras melhorias de segurança.

Resumo das mudanças

Confira um resumo detalhado das mudanças e as perguntas frequentes mais adiante neste documento. As mudanças no veredicto em maio de 2025 foram as seguintes:

O quê O que mudou Impacto estimado* Quais dispositivos
Mudanças que afetam todos os desenvolvedores que fazem solicitações da API Play Integrity
Resposta do veredito do dispositivo: meets-device-integrity É necessário ter um veredito de inicialização verificada positivo e com suporte de hardware Impacto mínimo porque a API Play Integrity já usa indicadores de segurança protegidos por hardware em dispositivos Android 13 ou mais recentes (~0,4%) Android 13 e versões mais recentes
Resposta da integridade do app: veredito de reconhecimento do app Sem alterações Impacto mínimo, isso vai refletir a mudança no veredito do dispositivo (~0,4%) Android 13 e versões mais recentes
Resposta dos detalhes da conta: veredito da licença do Google Play O app solicitante precisa ser instalado ou atualizado pelo Google Play. Pequena diminuição nas respostas licenciadas (~2,5%) Android 6 e versões mais recentes
Mudanças que afetam apenas desenvolvedores do Play Console e do Play SDK Console que usam recursos opcionais
Resposta do veredito do dispositivo: meets-basic-integrity Necessário para ter o atestado de chave da plataforma Android, mas o estado de inicialização pode ser verificado ou não. Pequena diminuição nas respostas básicas (~0,4%) Android 13 e versões mais recentes
Resposta do veredito do dispositivo: meets-strong-integrity É necessário ter uma atualização de segurança no último ano Diminuição nas respostas fortes (~14,5%) Android 13 e versões mais recentes
Todos os indicadores opcionais (exceto atributos do dispositivo)** O app solicitante precisa ser instalado ou atualizado pelo Google Play. Diminuição na porcentagem de respostas que incluem indicadores opcionais (~7%) Android 13 e versões mais recentes

*Todas as porcentagens de impacto estimadas mencionadas anteriormente foram baseadas em médias, e diferentes apps podem ter apresentado mudanças menores ou maiores dependendo da base instalada.

**Os indicadores opcionais (exceto atributos do dispositivo) são: meets-basic-integrity, meets-strong-integrity, atividade recente do dispositivo, recolhimento do dispositivo (Beta), status do Play Protect e risco de acesso ao app.

Perguntas frequentes

Visão geral

O que é a API Play Integrity?

A API Play Integrity ajuda a avaliar a confiabilidade do ambiente do app do usuário ao receber informações sobre o dispositivo, o app e o usuário. Assim, você pode detectar e responder a possíveis abusos e ataques.

Quais sinais a API Play Integrity fornece?

A API Play Integrity inclui a identidade do app solicitante, se ele foi instalado pelo Google Play e se o dispositivo é um dispositivo Android genuíno e certificado. Esses indicadores são fornecidos por padrão. Você pode ler esses indicadores no servidor de back-end do app e decidir se e como o app deve responder. Os desenvolvedores do Google Play podem ativar o recebimento de indicadores adicionais nas instalações do Google Play para conferir ainda mais informações.

O que é o atestado de chaves da plataforma Android?

A declaração de chaves da plataforma Android permite que os apps verifiquem o estado do dispositivo e obtenham um sinal forte de integridade da inicialização protegida por hardware. Ele depende de uma chave provisionada pelo Google no keystore com suporte de hardware do dispositivo. A API Play Integrity já usa o atestado de chave para receber indicadores de segurança protegidos por hardware em alguns dispositivos e agora vai integrá-los mais profundamente em todos os dispositivos com Android 13 ou versões mais recentes.

Mudanças de veredicto

Quais mudanças foram feitas nos vereditos da API Play Integrity em dispositivos Android 13 ou mais recentes?

Agora, a API Play Integrity exige indicadores de segurança protegidos por hardware para todos os veredictos de integridade:

  • O veredito de reconhecimento do dispositivo meets-device-integrity indica que o dispositivo em que o app está sendo executado é um dispositivo Android original e certificado. Para esse veredito, é necessário que o carregador de inicialização do dispositivo esteja bloqueado e que o SO Android carregado seja uma imagem de um fabricante de dispositivos certificado.
  • O veredito de reconhecimento do dispositivo meets-strong-integrity indica um dispositivo Android original e certificado com uma atualização de segurança recente. Esse veredicto exige meets-device-integrity e atualizações de segurança no último ano para todas as partições do dispositivo, incluindo um patch de partição do SO Android e um patch de partição do fornecedor. Essa condição pode mudar no futuro.
  • O veredito de reconhecimento do dispositivo meets-basic-integrity indica que a verificação foi feita em um dispositivo físico Android. O carregador de inicialização do dispositivo pode estar bloqueado ou desbloqueado, e o estado de inicialização pode ser verificado ou não. Ele pode não ser certificado, e, nesse caso, o Google não pode oferecer garantias de segurança, privacidade ou compatibilidade de apps e não pode garantir que o dispositivo não esteja atuando como um proxy, como em uma instância virtual do Android. Isso também significa que os dispositivos com acesso root são qualificados para retornar meets-basic-integrity desde que o atestado de chave esteja presente.

Essas mudanças não afetam a API Play Integrity no Play Games para PC, que vai continuar retornando meets-virtual-integrity.

Por que os vereditos da API Play Integrity foram mudados em dispositivos Android 13 ou versões mais recentes?

A API Play Integrity usava parcialmente indicadores de segurança protegidos por hardware no Android 12 e versões anteriores. Ao exigir segurança protegida por hardware no Android 13 e versões mais recentes, os vereditos da API Play Integrity são mais resilientes contra invasores, têm melhor desempenho para apps e são mais privados para os usuários. Os desenvolvedores podem esperar as seguintes melhorias em dispositivos com Android 13 ou versões mais recentes:

  • Redução de aproximadamente 90% nos sinais do dispositivo que precisam ser coletados e avaliados para gerar o veredito padrão nos servidores do Google. Os indicadores opcionais vão continuar exigindo a coleta de outros indicadores.
  • Melhoria na latência de veredito em até 80% para solicitações padrão no pior caso e em até 80% para todas as solicitações clássicas para obter o veredito padrão. Os indicadores opcionais podem aumentar a latência.
  • Nível consistente de confiabilidade e suporte para todos os formatos do Android com comprovação de chaves, incluindo dispositivos móveis, tablets, dobráveis, TV, Auto, Wear OS e ChromeOS.
  • Uma diferenciação maior entre cada rótulo de dispositivo no veredicto de reconhecimento de dispositivo: meets-strong-integrity, meets-device-integrity e meets-basic-integrity.

O veredito da API Play Integrity no Play Games para PC não vai mudar e será o mesmo no Android 12 e versões anteriores, assim como no Android 13 e versões mais recentes.

Como posso atualizar a lógica de back-end do meu app para que os veredictos de integridade considerem a versão do SDK do Android?

Se você quiser usar uma lógica diferente no servidor de back-end do app com base na versão do SDK do Android, use o novo campo de atributos do dispositivo no veredito. Confira um exemplo:

Kotlin

val deviceIntegrity =
  JSONObject(payload).getJSONObject("deviceIntegrity")
val sdkVersion =
  if (deviceIntegrity.has("deviceAttributes")) {
    deviceIntegrity.getJSONObject("deviceAttributes").getInt("sdkVersion")
  } else {
    0
  }

if (sdkVersion >= 30) {
  // Provide Android R+ specific experience to the user.
}

Java

JSONObject deviceIntegrity =
  new JSONObject(payload).getJSONObject("deviceIntegrity");
int sdkVersion =
  deviceIntegrity.has("deviceAttributes")
    ? deviceIntegrity.getJSONArray("deviceAttributes").getInt("sdkVersion")
    : 0;

if (sdkVersion >= 30) {
  // Provide Android R+ specific experience to the user.
}

Como posso usar a definição de rótulo meets-strong-integrity antiga em todas as versões do SDK do Android?

Para isso, atualize a lógica de back-end do app para usar meets-strong-integrity em dispositivos anteriores ao Android 13 e meets-device-integrity em dispositivos com Android 13 ou mais recente usando o novo campo de atributos do dispositivo no veredito que contém a versão do SDK do Android. Confira um exemplo:

Kotlin

val deviceRecognitionVerdict =
  if (deviceIntegrity.has("deviceRecognitionVerdict")) {
    deviceIntegrity.getJSONArray("deviceRecognitionVerdict").toString()
  } else {
    ""
  }

val deviceIntegrityToCheckFor =
  sdkVersion < 33 ? "MEETS_STRONG_INTEGRITY" : "MEETS_DEVICE_INTEGRITY";

if (deviceRecognitionVerdict.contains(deviceIntegrityToCheckFor)) {
  // Looks good!
}

Java

JSONObject deviceIntegrity =
  new JSONObject(payload).getJSONObject("deviceIntegrity");
String deviceRecognitionVerdict =
  deviceIntegrity.has("deviceRecognitionVerdict")
    ? deviceIntegrity.getJSONArray("deviceRecognitionVerdict").toString()
    : "";

String deviceIntegrityToCheckFor =
  sdkVersion < 33 ? "MEETS_STRONG_INTEGRITY" : "MEETS_DEVICE_INTEGRITY";

if (deviceRecognitionVerdict.contains(deviceIntegrityToCheckFor)) {
  // Looks good!
}

Como também é um indicador com suporte de hardware, o campo de atributos do dispositivo é mais confiável em dispositivos com o Android 13 e versões mais recentes.

Quais outras mudanças foram feitas no veredicto?

Investimos continuamente para tornar os indicadores atuais da API Play Integrity mais confiáveis e lançamos periodicamente novos recursos para ajudar os desenvolvedores a lidar com ameaças emergentes e novos casos de uso. Outras melhorias que fizemos no veredicto incluem:

  • Resposta licenciada do Google Play:para retornar uma resposta licenciada do Google Play, a API Play Integrity agora sempre exige que o app solicitante seja instalado ou atualizado pelo Google Play. Isso corrige alguns casos extremos e facilita a interpretação da resposta para os desenvolvedores.
  • Disponibilidade de indicadores opcionais:todos os indicadores opcionais disponíveis para desenvolvedores que usam o Google Play Console ou o SDK Console do Play (exceto atributos do dispositivo) agora exigem que o app solicitante seja instalado ou atualizado pelo Google Play no Android 13 ou versões mais recentes. Isso inclui meets-strong-integrity, meets-basic-integrity, atividade recente do dispositivo, reconhecimento do dispositivo (Beta), o veredito de risco de acesso ao app e o veredito do Play Protect. Padronizamos todas as outras solicitações da API Play Integrity para receber a verificação do dispositivo (apenas com o marcador meets-device-integrity), do instalador, de integridade do app e os atributos do dispositivo (se ativados).
  • Mudanças de veredito para dispositivos específicos:a API Play Integrity está mudando automaticamente os vereditos de dispositivos em mais cenários para proteger os apps mais cedo em todas as versões do SDK do Android, como quando há evidências de atividade excessiva ou comprometimento de chaves. Isso inclui a capacidade do Google Play de usar outros indicadores para gerar veredictos temporários de dispositivo para usuários quando os indicadores protegidos por hardware não estão disponíveis. Recomendamos que os desenvolvedores usem as caixas de diálogo de correção do Google Play no app ou direcionem os usuários ao app Play Store para corrigir problemas de veredito de integridade. Com o tempo, essas caixas de diálogo vão abordar mais cenários e incluir orientações específicas para os usuários, informando o que eles precisam corrigir com base no dispositivo ou na conta específica.

Como faço para informar problemas com vereditos de integridade?

Para informar problemas com respostas da API Play Integrity, sejam eles com os vereditos históricos ou os novos, siga as instruções na página de suporte.

Disponibilidade

O que a API Play Integrity exige para funcionar?

A API Play Integrity exige que a Google Play Store e o Google Play Services estejam instalados em um dispositivo, incluindo dispositivos Android e o Google Play Games para PC. As solicitações clássicas exigem o Android 4.4 (nível 19 da API) ou versões mais recentes, e as solicitações padrão exigem o Android 5.0 (nível 21 da API) ou versões mais recentes. Em dispositivos com Android 13 (nível 33 da API) e versões mais recentes, a API Play Integrity agora tem o mesmo nível de confiabilidade e suporte em todos os formatos do Android com atestado principal, incluindo dispositivos móveis, tablets, dobráveis, TV, Auto, Wear OS e ChromeOS.

Por que a API Play Integrity tem vereditos diferentes para dispositivos diferentes?

A API Play Integrity oferece vários vereditos de dispositivos para atender a desenvolvedores com diferentes casos de uso e tolerâncias a riscos, além de possibilitar uma estratégia de aplicação em níveis. Por exemplo, quando o app e o dispositivo são mais confiáveis, um desenvolvedor pode simplificar as etapas de verificação do usuário. Já quando um dispositivo é desconhecido, o desenvolvedor pode exigir uma verificação adicional do usuário antes de realizar ações protegidas ou sensíveis. Essa pode ser uma maneira eficaz de reduzir abusos e ataques.

O que é um dispositivo Android certificado?

Um dispositivo Android certificado (também conhecido como dispositivo Android certificado pelo Play Protect) é um dispositivo que executa um software previsível, passou por centenas de testes de compatibilidade do Google, segue o modelo de segurança e permissões do Android e foi enviado com o pacote de recursos antimalware do Google Play Protect. Quando a API Play Integrity consegue verificar que um dispositivo é Android genuíno e certificado, ela retorna a resposta meets-device-integrity no veredito de reconhecimento do dispositivo.

O que é um dispositivo meets-basic-integrity?

A API Play Integrity também retorna uma resposta opcional no veredito do dispositivo, meets-basic-integrity. Se um dispositivo retornar apenas o veredito meets-basic-integrity sem meets-device-integrity ou meets-strong-integrity, isso significa que o SO Android não pode ser verificado, mas o atestado de chave está presente. Isso indica que a verificação ocorreu em um dispositivo físico Android, mas o Google não pode garantir a segurança, a privacidade ou a compatibilidade de apps do dispositivo e não pode garantir que ele não esteja atuando como um proxy, como em uma instância virtual do Android. Dependendo dos casos de uso e das tolerâncias a riscos dos desenvolvedores, eles podem decidir como querem que o app seja executado nesses dispositivos.

Qualquer desenvolvedor pode usar a API Play Integrity?

Sim, qualquer desenvolvedor Android pode fazer solicitações à API Play Integrity para receber os veredictos de integridade padrão. O uso é limitado a 10 mil solicitações por dia, independente do canal de distribuição. Os desenvolvedores que publicam apps no Google Play, além de outros canais de distribuição, também podem pedir um aumento na cota diária.

Qualquer desenvolvedor pode usar a declaração de chaves da plataforma Android?

Sim, qualquer desenvolvedor Android pode usar o atestado de chave da plataforma Android para receber um registro de atestado de chave, que pode ser verificado com o certificado público da chave raiz de atestado do Google. A API Play Integrity oferece aos desenvolvedores os benefícios do atestado de chave e de outros recursos sem toda a complexidade de ter que fazer a integração com o atestado de chave por conta própria.

Aplicação

Como os desenvolvedores usam os vereditos da API Play Integrity?

Os desenvolvedores decidem se e como usar os vereditos da API Play Integrity. Alguns desenvolvedores coletam os indicadores para análise interna contra abuso, enquanto outros tomam decisões sobre o comportamento do app com base no veredito. Por exemplo, os desenvolvedores podem exigir que dispositivos menos confiáveis realizem etapas adicionais de verificação do usuário ao criar uma conta ou que dispositivos menos confiáveis joguem juntos no mesmo servidor multiplayer.

A API Play Integrity bloqueia usuários ou dispositivos?

Não, a API Play Integrity não bloqueia o acesso a nenhuma funcionalidade. É um serviço opcional para desenvolvedores que fornece indicadores. Os desenvolvedores escolhem como agir com base nesses indicadores.

O que os usuários devem fazer se o dispositivo deles não passar nas verificações da API Play Integrity?

Os usuários podem acessar o app Play Store no dispositivo, abrir o menu "Configurações", rolar para baixo até "Sobre" e procurar em "Certificação do Play Protect". Se houver algo errado com a certificação do Play Protect no dispositivo, um botão vai aparecer para que os usuários tentem corrigir o problema. Isso vai atualizar o status de certificação do dispositivo e fornecer orientações específicas sobre o que precisa ser corrigido.