Guia

Publicar jogo HTML5 na Google Play com Capacitor, passo a passo

Da pasta do jogo ao pacote assinado, os formulários do Play Console, a regra dos 12 testadores para contas novas e os problemas de webview que tivemos nos nossos apps.

Arte de capa do Velvet Pool, template de sinuca que a Polar Games também empacotou como app Android.

Para publicar jogo HTML5 na Google Play, você empacota a pasta do jogo num projeto Android nativo com o Capacitor, gera um Android App Bundle assinado no Android Studio, cria o app no Play Console, responde aos formulários de conteúdo e sobe o pacote numa faixa de teste antes da produção. Se a sua conta de desenvolvedor é pessoal e foi criada depois de 13 de novembro de 2023, o Google ainda exige um teste fechado com pelo menos 12 testadores por 14 dias antes de liberar o pedido de produção.

Já fizemos isso com jogos nossos. Em outubro de 2026 empacotamos o Ricopop e o Velvet Pool com Capacitor e enviamos os dois para a revisão de produção da Google Play, e também o nosso jogo de ação Little Ninja Dash. Este guia junta o que dizem as páginas oficiais do Capacitor, do Android e do Play Console, lidas em 30 de outubro de 2026, com o que as nossas notas de lançamento registram. Regras e exigências mudam: confira cada página antes de enviar.

Antes de começar: conta, licença e ferramentas

  • Uma conta de desenvolvedor na Google Play. O Google cobra uma taxa única de registro de US$ 25 e pede verificação de identidade de todos. Contas pessoais também precisam comprovar acesso a um aparelho Android pelo app Play Console antes de publicar.
  • Node.js e Android Studio. A documentação Android do Capacitor diz que os apps são configurados e gerenciados pelo Android Studio.
  • Um jogo que funcione offline a partir da própria pasta, com um index.html na raiz.
  • Uma licença do jogo. Nos nossos templates, uma licença cobre um produto final, e você pode publicar esse jogo onde quiser, Google Play e App Store incluídas. Não é permitido revender o template em si. Pergunte antes de cobrar pelo app ou pôr compras dentro dele, porque os nossos termos falam em acesso grátis ou com anúncios.

As nossas edições de template são jogos para navegador. A página de cada edição diz que versões nativas de app não estão incluídas, então os passos abaixo são trabalho seu, ou trabalho que você encomenda por orçamento.

Ver o Velvet Pool, template de sinuca que também empacotamos para Android

Passo 1: empacotar a pasta do jogo com o Capacitor

O Capacitor precisa de um package.json, de uma pasta com os arquivos web prontos e de um index.html na raiz dessa pasta. A página de introdução avisa que o index.html precisa ter a tag head, senão os plugins não funcionam. Um template HTML5 baixado costuma já ter essa pasta: nos nossos ela se chama game/.

  1. Numa pasta nova de projeto, rode npm i @capacitor/core e npm i -D @capacitor/cli.
  2. Rode npx cap init. Ele pede o nome do app, o ID do app (domínio ao contrário, por exemplo com.seuestudio.seujogo) e a pasta web. Aponte o webDir para a pasta do jogo.
  3. Rode npm i @capacitor/android e depois npx cap add android. Isso cria o projeto android/.
  4. Rode npx cap sync sempre que mudar os arquivos do jogo. Ele copia tudo para o projeto nativo.
  5. Rode npx cap open android para abrir o projeto no Android Studio.

A documentação do Capacitor diz que a API 24 em diante, ou seja, Android 7 ou mais novo, é suportada. Os nossos projetos Android usam esse mínimo.

O que fazemos diferente: mantemos o projeto nativo numa área de trabalho separada, mobile/, que copia o jogo para a própria pasta web. A versão do site fica intocada, e o que é só do app, como os anúncios nativos, mora nessa área.

Passo 2: gerar e assinar o pacote

Desde agosto de 2021 os apps novos na Google Play têm de ser publicados como Android App Bundle (AAB), não como APK. No Android Studio, use Build e depois Generate Signed Bundle/APK, escolha Android App Bundle e crie ou selecione um keystore.

Esse keystore guarda a sua chave de upload. A página de assinatura do Android explica que, com a Assinatura de apps do Google Play, obrigatória para apps novos na primeira publicação, o Google guarda a chave de assinatura do app e você assina cada envio com a chave de upload. Mantenha a chave de upload em segredo, use senhas fortes e guarde o keystore num lugar seguro. Se ela for perdida ou vazar, o Play Console permite pedir a troca da chave de upload.

  • Nível de API alvo: desde 31 de agosto de 2026, apps novos e atualizações precisam mirar o Android 16 (API 36) ou superior. Confira o alvo em android/app/build.gradle.
  • Código de versão: aumente antes de cada envio. Todo pacote enviado gasta o seu código de versão, por isso olhamos o maior número no Play Console antes de cada build.
  • Só build de lançamento: nada de menu de debug, ID de anúncio de teste ou atalho de desenvolvedor no pacote que vai para produção.

O que quebra dentro do webview, e o que fizemos

Um jogo que roda bem no navegador pode se comportar de outro jeito dentro do app. Estes são os problemas que as nossas notas de lançamento registraram, com a solução documentada quando ela existe.

O botão Voltar do Android

O plugin App do Capacitor tem o evento backButton. A documentação diz que, ao escutar esse evento, o comportamento padrão do Voltar é desligado, então quem decide o que ele faz é você, e oferece App.exitApp() para fechar o app. No Velvet Pool, o Voltar abre o menu de pausa em vez de fechar o jogo.

Pausa e retorno

O mesmo plugin dispara os eventos appStateChange, pause e resume. Use-os para pausar o jogo, os cronômetros e qualquer anúncio em andamento quando o jogador sai do app, e para voltar direitinho.

Atalhos de debug em localhost

Dentro do app, o Capacitor serve o jogo de um endereço local. Se o seu jogo liga ferramentas de debug quando roda em localhost, elas ligam no app também. Os nossos scripts de build forçam essas opções para desligado e se recusam a gerar o pacote se não conseguirem.

Anúncios

O código de anúncio do site não é o que usamos nos apps. No Android usamos o SDK nativo do AdMob por um plugin do Capacitor, com os blocos de demonstração do Google durante os testes e os blocos do próprio app só no build de produção.

Layout e progresso salvo

No emulador encontramos botões cortados na horizontal e palavras longas quebrando mal, coisas que a versão do navegador não mostrava. Teste todas as telas nas duas orientações e confira se o progresso continua lá depois de fechar e abrir o app.

Ver o Ricopop, outro template que empacotamos para a Google Play

Passo 3: configurar o Play Console e a ficha da loja

Crie o app no Play Console e depois passe pela seção de conteúdo do app. Os formulários que preenchemos em cada jogo foram política de privacidade, acesso ao app, anúncios, classificação de conteúdo, público-alvo, segurança dos dados, ID de publicidade e as declarações sobre governo, finanças e saúde.

  • Classificação de conteúdo: o Google diz que todo app precisa de uma classificação da IARC, e app sem classificação é removido. Ela sai do questionário, respondido com honestidade.
  • Segurança dos dados: todo app precisa preencher, inclusive os que não coletam nada. O formulário tem de refletir os dados coletados por SDKs de terceiros, como um SDK de anúncios, e pede o link da política de privacidade.
  • Público-alvo: responda pelos jogadores que você quer de verdade. Classificação e público são respostas separadas.

Arte e textos da ficha

  • Ícone: 512 por 512 pixels, PNG de 32 bits, até 1024 KB.
  • Gráfico de recursos: 1024 por 500 pixels, JPEG ou PNG de 24 bits sem transparência.
  • Capturas de tela: pelo menos duas e até oito por tipo de aparelho. Para jogos, o Google recomenda pelo menos três capturas 16:9 na horizontal (mínimo 1920 por 1080) ou 9:16 na vertical (mínimo 1080 por 1920) mostrando o jogo de verdade.
  • Descrição curta: até 80 caracteres.

Passo 4: teste e depois produção

O nosso roteiro põe o teste interno primeiro: instalar o app pela Play com uma conta real e jogar antes de qualquer outra coisa. Depois a versão é promovida para produção, onde passa pela revisão do Google.

A regra das contas pessoais novas

A Central de Ajuda do Play Console diz que contas pessoais de desenvolvedor criadas depois de 13 de novembro de 2023 precisam fazer um teste fechado com no mínimo 12 testadores inscritos sem interrupção por pelo menos 14 dias. Depois disso, você pede acesso à produção pelo Painel e responde perguntas sobre o teste fechado, o app e se ele está pronto para produção. Coloque essas duas semanas no cronograma do lançamento.

Separe os estados quando for prestar contas a um cliente: enviado para uma faixa de teste, enviado para revisão, aprovado e público na Google Play são quatro momentos diferentes. As nossas notas de lançamento registram datas de envio, não de aprovação, e este guia também.

O que os nossos templates incluem, e a parte que podemos fazer

Todo template vem com a pasta do jogo pronta para hospedar, código legível, manual e 6 meses de suporte, ou 12 com a extensão. O suporte cobre instalação e uso dos arquivos entregues e correção de defeitos que se reproduzem. Empacotar para Android, anúncios nativos, integração de SDK e publicação na loja são serviços à parte.

Se você prefere não mexer no Android Studio, mande o template, como vai ficar a conta da loja e o prazo. Respondemos com escopo, preço e prazo antes de qualquer trabalho. Não publicamos tabela de preços para trabalho sob encomenda.

Pedir orçamento para empacotar o jogo para a Google Play

Perguntas frequentes sobre publicar jogo HTML5 na Google Play

Quanto custa publicar um jogo HTML5 na Google Play?

O Google cobra uma taxa única de US$ 25 pela conta de desenvolvedor. Os outros custos são a licença do jogo, a arte da loja e o seu tempo, ou um serviço orçado se outra pessoa fizer o empacotamento.

Preciso de 12 testadores para publicar na Google Play?

Só se a sua conta for pessoal e tiver sido criada depois de 13 de novembro de 2023. Essas contas precisam de um teste fechado com pelo menos 12 testadores inscritos por pelo menos 14 dias antes de pedir acesso à produção.

APK ou AAB?

AAB. Apps novos na Google Play precisam usar o Android App Bundle desde agosto de 2021. O APK continua útil para instalar um build direto no seu celular de teste.

O app pode só abrir o jogo do meu site?

Nós não fazemos assim. Colocamos os arquivos do jogo dentro do app, para ele funcionar offline e não depender de um site. A política de spam do Google também mira apps cujo objetivo principal é mostrar um site num webview sem autorização do dono.

Os seus templates já vêm prontos para a Google Play?

Não. São jogos para navegador prontos para hospedar, e as páginas dos itens dizem que versões nativas de app não estão incluídas. Você pode empacotar seguindo os passos acima ou encomendar o trabalho por orçamento.