Por que usar a Assinatura de Apps do Google Play? Além de proteger suas chaves contra perda ou comprometimento permanente, o registro na Assinatura de Apps do Google Play desbloqueia melhorias do Google Play para seus Android App Bundles (.aab). Ao permitir que o Google assine os APKs de distribuição otimizados gerados nos seus pacotes de apps, você tem acesso a serviços valiosos, como proteção automática e tradução automática de strings usando modelos do Gemini. Os jogos ganham acesso a outros serviços automáticos, como o Play Games Sidekick, a capacidade de jogar durante o download e os testes sem custo financeiro de títulos pagos.
Para configurar a Assinatura de Apps do Google Play, você precisa ser o proprietário da conta ou ter a permissão Enviar para produção, excluir dispositivos e usar a Assinatura de apps do Google Play, além de aceitar os Termos de Serviço.
Principais conceitos
Ao usar a Assinatura de Apps do Google Play, você trabalha com duas chaves distintas. Entender a diferença e os formatos técnicos é fundamental para evitar problemas de autenticação com APIs de terceiros.
| Tipo de chave | Quem é o titular? | Detalhes técnicos e finalidade |
|
Chave de upload |
Você (mantenha a segurança) |
|
| Chave de assinatura do app |
Google Play |
|
Observação: para reforçar a segurança, a chave de upload e a chave de assinatura do app precisam ser diferentes.
Como o Google assina seu app: quando o Google gera e assina seus APKs com a chave de assinatura do app, ele usa o apksigner para adicionar dois selos ao manifesto do app (com.android.stamp.source e com.android.stamp.type). Esses carimbos garantem que seus APKs sejam rastreáveis com segurança até o signatário original.
Configurar a Assinatura de Apps do Google Play
O processo de configuração depende de você estar publicando um novo app ou migrando um já existente.
Para novos apps
- Criar uma chave de upload: gere um keystore para assinar o pacote de app de lançamento. Você pode gerar no Android Studio ou usar o utilitário Java Keytool na linha de comando.
- Fazer upload do pacote de apps: acesse o Play Console e prepare um novo lançamento. Por padrão, quando você faz upload do pacote de app, a Assinatura de Apps do Google Play gera automaticamente uma chave RSA de 4096 bits com criptografia forte para gerenciar e proteger o app. Mais de 90% dos novos apps usam esse padrão recomendado, e nenhuma outra ação é necessária para configurá-lo.
- Mudar a chave de assinatura do app (opcional): desenvolvedores avançados que precisam gerenciar a própria chave podem mudar esse padrão. Para fazer isso, clique em Mudar chave de assinatura na seção Integridade do app da sua versão ou acesse Protegido com o Google Play > Distribuição na Google Play Store > Acessar a Assinatura de apps do Google Play. Em seguida, escolha uma opção:
- Usar a mesma chave de outro app desta conta de desenvolvedor.
- Fornecer uma cópia da chave de assinatura do app: primeiro, faça o download da chave de criptografia pública do Google no Play Console. Em seguida, use a ferramenta Play Encrypt Private Key (PEPK). Você pode fazer o download da ferramenta compilada ou do código-fonte diretamente do Console para verificar ou criar por conta própria. Assim, é possível criptografar e fazer upload da sua Chave RSA (2048 bits ou mais) de qualquer repositório com segurança.
Para apps existentes
Se você gerencia suas próprias chaves e faz upload de APKs, pode fazer upgrade para a Assinatura de Apps do Google Play e aproveitar os pacotes de apps e as melhorias do Google Play.
- Acesse Protegido com o Google Play > Distribuição na Google Play Store > Acessar a Assinatura de apps do Google Play no Play Console.
- Aceite os Termos de Serviço, se ainda não tiver feito isso.
- Transferir uma cópia da sua chave original: faça o download da ferramenta PEPK e siga as instruções unificadas para criptografar e fazer upload da sua chave de assinatura do app atual de qualquer repositório.
Registrar-se com provedores de API
Se o app usar APIs (como Google Maps, OAuth ou Login do Facebook), esses serviços vão autenticar o app usando a impressão digital da chave de assinatura do app.
Como o Google assina o APK final, é necessário registrar a impressão digital da chave de assinatura do app mantida pelo Google com seus provedores de API, não apenas a chave de upload local.
- Acesse Protegido com o Google Play > Distribuição na Google Play Store > Acessar a assinatura de apps do Google Play.
- Role a tela até a seção Chave de assinatura do app.
- Copie as impressões digitais necessárias (SHA-1 ou SHA-256).
- Cole as impressões digitais no console do seu provedor de API (por exemplo, o console do Google Cloud).
Dica: atualize o arquivo assetlinks.json com essas impressões digitais se você usar Links do app Android.
Gerenciar suas chaves
Fazer upgrade da chave de assinatura do app
Se a chave de assinatura do app for comprometida ou se você precisar de uma chave criptograficamente mais forte, solicite um upgrade anual para todas as instalações no Android N (nível da API 24) e versões mais recentes.
Como a aplicação funciona em diferentes versões do Android:
- Android T (nível da API 33) e versões mais recentes: a plataforma Android aplica estritamente o uso da chave atualizada.
- Android N (nível 24 da API) a Android S (nível da API 32): a plataforma Android não impõe o uso da chave atualizada e ainda reconhece a chave de assinatura legada. No entanto, o Google Play Protect oferece validação extra ao verificar se as atualizações do app são assinadas com a chave atualizada, a menos que tenha sido desativada pelo usuário.
Consideração importante:
- Dados compartilhados: como a plataforma não impõe a chave atualizada no Android S (nível da API 32) e versões anteriores, se você usar a mesma chave em vários apps para compartilhar dados, essas versões mais antigas do Android só vão reconhecer a chave legada para recursos como compartilhamento de permissões personalizadas.
Como fazer upgrade:
- Acesse Protegido com o Google Play > Distribuição na Google Play Store > Acessar a Assinatura de apps do Google Play.
- Na seção "Chave de assinatura do app", clique em Fazer upgrade da chave.
- Escolha seu caminho de upgrade:
- Permitir que o Google Play gere uma nova chave de assinatura do app (recomendado)
- Usar a mesma chave de assinatura de outro app desta conta de desenvolvedor.
- Forneça uma cópia da chave de assinatura do app (seguindo as instruções).
- Se você fornecer sua própria chave, gere e faça upload de uma "prova de rotação" usando a ferramenta apksigner (incluída no Android SDK Build Tools). Para ver mais detalhes sobre as flags usadas aqui, consulte a documentação da linha de comando do apksigner:
- apksigner
rotate --out /path/to/new/file --old-signer --ks old-signer-jks --set-rollback true --new-signer --ks new-signer-jks --set-rollback true
- apksigner
- Clique em Salvar e registre as novas impressões digitais de chave com os provedores de API.
Solicitar uma redefinição da chave de upload
Se você perder a chave de upload ou suspeitar que ela foi comprometida, não vai perder o acesso ao app.
- Crie uma nova chave de upload no Android Studio.
- Exporte o certificado para o formato PEM:
keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
Para mais ajuda com os caminhos de keytool e keystore, consulte o guia de assinatura de apps do Android Studio. - Peça para o proprietário da conta solicitar uma redefinição de chave de upload usando o formulário de ajuda do Play Console.
- Faça upload do arquivo
upload_certificate.pemquando solicitado.
Observação: a redefinição da chave de upload não afeta a chave de assinatura do app nem os usuários.
Práticas recomendadas e distribuição alternativa
- Segurança: proteja seu acesso ao Play Console aplicando a verificação em duas etapas a todos os usuários.
- Melhorias do Google Play: ao se inscrever na Assinatura de Apps do Google Play, você tem acesso a melhorias para seus pacotes de apps. Para receber as atualizações, primeiro faça as mudanças necessárias ao criar um novo lançamento e, em seguida, envie o novo pacote de app.
- Distribuição fora do Google Play: se você distribui em outras app stores e quer usar a mesma chave de assinatura em todos os lugares, há duas opções. Você pode deixar o Google gerar sua chave de assinatura do app e fazer o download de um APK universal e assinado nas versões e pacotes mais recentes para distribuir em outro lugar. Para isso, acesse Testar e lançar > Lançamentos e pacotes mais recentes, selecione o pacote de apps e clique na guia Downloads. Outra opção é gerar a chave de assinatura do app que você quer usar em todas as app stores e transferir uma cópia dela para o Google ao configurar a Assinatura de Apps do Google Play.
- Teste: use o Compartilhamento interno de apps para testar exatamente o que o Google Play vai entregar aos usuários ou baixe APKs específicos do dispositivo no Pesquisador de Pacotes de Apps e instale-os localmente usando adb install-multiple *
.apk. - Esquema de assinatura de APK v4: a Assinatura de Apps do Google Play usa automaticamente a assinatura v4 em apps qualificados para oferecer suporte à distribuição otimizada em dispositivos Android 11 e versões mais recentes. Você não precisa fazer nada. Leia mais sobre os benefícios técnicos na documentação do esquema de assinatura de APK v4.
- Projetos do Google Cloud auto-hospedados: se você tiver requisitos de segurança muito específicos (por exemplo, usando chaves OEM), poderá usar a API Play Developer para se inscrever na Assinatura de Apps do Google Play usando um projeto do Google Cloud auto-hospedado. Observação: essa é uma configuração não padrão que não é recomendada. Usar um projeto auto-hospedado significa que você assume total responsabilidade pelas operações de assinatura de apps e impede que o Google Play execute recursos essenciais, como recuperação de desastres.