Restringir modificações e redistribuição não autorizadas com a Proteção automática da integridade

Observação: no momento, os recursos descritos nesta página estão disponíveis somente para parceiros do Google Play selecionados.

A Proteção automática da integridade do Google Play é um serviço que ajuda a proteger apps e jogos contra abusos de integridade na forma de modificações e redistribuições não autorizadas. Ela funciona no app mesmo sem uma conexão de dados. Ela pode ser ativada com um clique no Play Console e não exige trabalho do desenvolvedor antes do teste nem a integração do servidor de back-end.

Como funciona

A Proteção automática da integridade adiciona verificações de tempo de execução ao código do app para restringir a modificação e a redistribuição e, com técnicas avançadas de ofuscação e antiengenharia reversa, faz com que elas sejam difíceis de remover. Se a verificação do instalador resultar em um erro, os usuários terão que fazer o download do app no Google Play. Se a verificação de modificações resultar em um erro, o app não será executado. Isso ajuda a proteger os usuários contra conteúdo nocivo que possa aparecer em versões modificadas do app.

A Proteção automática da integridade é projetada para:

  • Prevenir a modificação não autorizada: o recurso ajuda a proteger o app contra modificações, o que dificulta a distribuição de cópias não oficiais com comportamento alterado, como remoção do faturamento, adição de anúncios, mudanças do ID do proprietário do anúncio ou inclusão de malware.
  • Impedir a pirataria de apps pagos: a Proteção automática da integridade impede a pirataria ao solicitar que os usuários que fizeram o download da versão não modificada do app em uma fonte não oficial o comprem no Google Play. Essa solicitação é opcional e pode ser desativada desmarcando a opção "Exigir instalação do Google Play" na página de configuração da Proteção automática da integridade.
  • Aumentar o número de usuários que recebem atualizações oficiais: para os usuários que transferiram a versão não modificada por sideload, a Proteção automática da integridade pode pedir que o app seja adicionado à biblioteca do Google Play. Assim eles sempre vão receber as atualizações. Essa solicitação é opcional e pode ser desativada desmarcando a opção "Exigir instalação do Google Play" na página de configuração da Proteção automática da integridade.
Importante: a Proteção automática da integridade não garante a prevenção de todos os casos de cracking, pirataria, reempacotamento e redistribuição. Ela torna essas ações mais complexas e custosas, o que reduz a probabilidade de que sejam bem-sucedidas. O Google Play está sempre fortalecendo a Proteção automática da integridade para que novas versões do seu app recebam automaticamente os melhores e mais recentes recursos de proteção.

Configurar a Proteção automática da integridade

As etapas abaixo descrevem o que é necessário fazer para começar a usar o recurso. Clique em uma seção para expandi-la.

Pré-requisitos

Se você ativar a Proteção automática da integridade para determinado app, ela vai ser automaticamente adicionada pelo Google Play quando você criar novas versões prontas para distribuição aos dispositivos. A proteção exige que o Google Play crie APKs modificados e assine-os em seu nome. Portanto, é necessário fazer o seguinte:

Observações importantes:

  • A Proteção automática da integridade só é compatível com o Android 6.0 Marshmallow (nível 23 da API) e versões mais recentes. O Android M foi lançado em 2015. A partir de 2023, segmentar um midSDK 23 ou versões mais recentes vai abranger mais de 97% dos dispositivos Android ativos.
  • A Proteção automática da integridade é compatível com as seguintes ABIs: x86, x86_64, armeabi-v7a e arm64-v8a. Para atualizar as ABIs de destino do app, ajuste as configurações do Gradle. Outras ABIs que não são usadas por dispositivos Android ativos podem ser removidas da segmentação sem afetar a disponibilidade do app.
  • A Proteção automática da integridade funciona off-line. No entanto, a opção "Exigir instalação do Google Play" vai precisar de uma conexão de dados periodicamente se o app Play Store no dispositivo estiver off-line por um longo período.
  • Se o app já estiver usando o licenciamento do Google Play, desative a opção "Exigir instalação do Google Play".
  • Ao fazer upload do app no Compartilhamento interno de apps, a proteção não será aplicada. Tome cuidado para enviar links de Compartilhamento interno apenas para membros confiáveis da equipe e não disponibilize versões desprotegidas externamente.
  • A Proteção automática da integridade não é compatível com a transparência do código para pacotes de app porque a proteção envolve a modificação do código. Não vamos aceitar pacotes de app enviados com transparência do código quando a Proteção automática da integridade estiver ativada.
  • As experiências instantâneas não são protegidas. Para ter proteção, o pacote de app nas faixas de lançamento não pode ser instantâneo. Você pode fazer upload ao mesmo tempo de um pacote de app para a faixa de lançamento com proteção e de um pacote instantâneo para a faixa exclusiva a esse tipo de app que não recebe proteção.
Etapa 1: ativar a proteção

Crie uma versão conforme descrito na Etapa 1 de "Preparar e lançar uma versão".

Você pode ativar a proteção ao criar uma versão, como descrito na Etapa 2 de Preparar e lançar uma versão. Outra opção é fazer isso na página Integridade do app (Versão > Integridade do app), que tem serviços de integridade e assinatura para ajudar você a garantir que a experiência dos usuários saia como planejado.

Quando você prepara a versão, aparece um botão que diz Use a proteção da integridade ou Gerenciar a proteção da integridade. Clique em Sim, ativar em "Proteção automática da integridade". Depois, o Google Play vai assinar suas versões e adicionar a proteção da integridade para restringir adulterações e abusos referentes à distribuição. Isso significa que a Proteção automática da integridade está ativada.

Conclua a preparação da versão e salve as mudanças.

Etapa 2: testar o app protegido

Use cada uma das faixas de teste para testar a versão protegida do app e garantir que não haja efeitos inesperados no desempenho nem na experiência do usuário.

Recomendamos que você inclua as seguintes ações nessa análise:

  • Teste a execução inicial do jogo, procure por falhas e lentidão na inicialização.
  • Teste as instâncias em que o código nativo (C/C++) chama o Java (no próprio código ou em bibliotecas de terceiros), como em anúncios, casos de geração de registros, integração social e autenticação ou recursos específicos do Android, como gerenciamento de permissões.

Se houver problemas durante o processo de teste, você poderá desativar a Proteção automática da integridade ou reverter para uma versão anterior dela que você já usou em um lançamento passado. Recomendamos que você não promova versões desprotegidas para faixas abertas ou de produção.

Para desativar a proteção de integridade em uma única versão, faça o seguinte:

  1. Ao preparar a versão, clique em Gerenciar a proteção da integridade.
  2. Em "Proteção automática da integridade", selecione Proteção anterior ou Desativar proteção para esta versão.
  3. Salve as mudanças. As mudanças vão ser aplicadas a esta versão. Na próxima vez que você fizer upload de uma versão, ela vai receber a versão mais recente e mais segura novamente.
Etapa 3: promover o app à faixa de produção

Quando tudo estiver pronto, lance a versão em uma faixa de produção no Play Console. Assim o app protegido será disponibilizado a todos os usuários do Google Play nos países selecionados.

Personalizar a página "Detalhes do app" acessada pelas caixas de diálogo de proteção da integridade

A Proteção automática da integridade pode pedir para 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 instalar o app pelo Google Play e adicionar à biblioteca do usuário na plataforma.

Você pode personalizar os recursos da página "Detalhes do app" para todos os visitantes que tocarem nas caixas de diálogo de proteção da integridade, incluindo o nome, ícone, descrições e recursos gráficos do app. Para personalizar a página "Detalhes do app" acessada por uma caixa de diálogo de proteção da integridade:

  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 "Personalizar página 'Detalhes do app'".
  5. Clique em Criar Detalhes do app.
  6. 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 de proteção da integridade diretamente em Páginas "Detalhes do app" personalizadas:

  1. Abra o Play Console e acesse Páginas "Detalhes do app" personalizadas (Crescimento > Páginas "Detalhes do app" personalizadas).
  2. Clique em Criar Detalhes do app, escolha se quer criar ou duplicar uma página de detalhes e clique em Próxima.
  3. Na seção "Detalhes da entrada", role a tela até Público-alvo.
  4. Selecione Por URL e digite "playintegrity" na caixa de texto.
  5. Preencha 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 e inalterada ao configurar a página "Detalhes do app" personalizada.

Práticas recomendadas

Não lançar versões não protegidas do app

Se você publicar versões não protegidas em faixas abertas ou em outros canais fora do Google Play, a proteção do app não funcionará. Para manter a proteção da integridade do app, publique somente versões protegidas em faixas abertas e de produção.

Cuidado ao combinar soluções de proteção contra adulterações

Talvez a Proteção automática da integridade não seja compatível com outras soluções de proteção contra adulterações no tempo de execução. Nesse caso, tentar usar essas ferramentas juntas pode causar problemas para os usuários. Caso você já esteja implementando o licenciamento do Google Play no app, desative a opção "Exigir instalação do Google Play". Se o app realizar outras verificações no tempo de execução, faça testes cuidadosos antes do lançamento nas faixas abertas para conferir se há problemas.

Testar seu app protegido

O Google Play vai enviar automaticamente versões protegidas a todas as faixas: fechadas, abertas, de produção e de teste interno. Faça testes completos nessas versões como de costume.

Se você fizer upload da versão do app diretamente para o Compartilhamento interno, o Google Play não adicionará proteções. Isso permite que o Compartilhamento interno de apps seja usado para fazer upload de builds de depuração e outras versões semelhantes.

Ao acessar o link de uma versão protegida no Compartilhamento interno de apps pelo Pesquisador de pacotes de apps, a versão é compartilhada exatamente como foi processada pelo Google Play. Se essa versão do app tiver sido enviada a uma faixa de teste e for protegida, o link do Compartilhamento interno no Pesquisador de pacotes de apps vai enviar uma versão protegida. Confira o status da proteção na guia Detalhes do Pesquisador de pacotes de apps.

Monitorar falhas

Talvez você note um aumento nas falhas devido ao app estar protegido. Isso provavelmente indica que a Proteção automática da integridade funciona conforme o esperado. Se um invasor tentar modificar o app e não conseguir, a verificação do tempo de execução interromperá o funcionamento do app, normalmente por uma falha.

As falhas não atribuídas ao Google Play não afetam as métricas de estabilidade do Android vitals. Se você usa outras ferramentas para analisar falhas, como o Crashlytics, e precisa de um nome de pacote para filtrar por origem da instalação, o nome do pacote da Google Play Store é "com.android.vending".

Se um aumento adverso no número de falhas parecer preocupante, informe nossa equipe e dê o máximo de detalhes possível para que possamos investigar. Vamos responder se determinarmos que as falhas estão relacionadas à proteção.

Denunciar versões crackeadas do app

Uma versão crackeada do app é uma versão que funciona mesmo após ter sido modificada ou instalada fora do Google Play se você tornou a instalação pelo Google Play obrigatória.

Se você tiver identificado uma versão crackeada do app, entre em contato.

Conteúdo relacionado

Isso foi útil?

Como podemos melhorá-lo?

Precisa de mais ajuda?

Siga as próximas etapas:

Pesquisa
Limpar pesquisa
Fechar pesquisa
Menu principal
3502629281833284702
true
Pesquisar na Central de Ajuda
true
true
true
true
true
92637
false
false