PublicaçãoPublicar nas lojas de apps
Projeto nativo
O projeto completo para celular, para anúncios, compras e um desenvolvedor que cuide dele.
O Native entrega o app inteiro como um projeto para celular, em um único ZIP ou enviado para um repositório do GitHub. Primeiro, dê a ele o nome do app e um ID de app como com.yourcompany.yourapp: o ID é como as lojas conhecem o seu app, e ele não pode mudar depois de publicado.
A janela então mostra os comandos exatos para compilá-lo, para Android e para iPhone:
npm install && npm run build
npx cap add android
npm run icons
npx cap sync && npx cap open androidNo iPhone, ios ocupa o lugar de android, e o último comando abre o Xcode.
A partir daí, é o caminho das próprias lojas: assine o app no Android Studio ou no Xcode, envie, teste, preencha a página da loja e lance. Guarde bem a chave de assinatura do Android e as senhas dela. Toda atualização precisa ser assinada com a mesma chave. Sem Android Studio nem Mac, o GitHub pode compilar para você: Compilar na nuvem.
Obter o projeto: baixar ou GitHub
No passo 1, Download the project tem dois campos, App name e App ID. O ID começa como com.setherion. seguido do nome do app, e precisa estar escrito na forma de domínio invertido. Download project (.zip) gera um ZIP com o nome do app. Ele contém o projeto web, os arquivos do celular, um schema.sql se o app tiver tabelas, a arte do jogo, se houver, e as imagens do ícone e da tela de abertura. Exige um plano pago.
Como alternativa, or push to GitHub: conecte com Connect with GitHub ou cole um token, escolha um Repo name e clique em Export to GitHub. O repositório é criado como privado, e Open repo leva você até ele. Isso também exige um plano pago.
Native no Android, passo a passo
- Download the project, como acima.
- Compile. Precisa do Node 22 e do Android Studio. Execute os comandos que a janela mostra. Se o app usa anúncios ou compras,
npm run native:setupé adicionado depois denpx cap add android. - Assine. No Android Studio, escolha Build, depois Generate Signed App Bundle. Crie uma chave e guarde-a junto com as senhas: toda atualização precisa da mesma chave.
- Envie e teste. Crie o app no Play Console, envie o .aab para o Internal testing, depois preencha a página da loja, a classificação de conteúdo e o Data safety. Com anúncios, você também declara o ID de publicidade.
- Lance. A revisão leva de algumas horas a dois dias. Uma conta pessoal do Google Play aberta depois de novembro de 2023 precisa antes do teste fechado.
Native no iPhone, passo a passo
- Download the project: o mesmo ZIP do Android.
- Compile. Precisa de um Mac com Xcode e da conta de desenvolvedor Apple de $99 por ano. Execute os mesmos comandos com
iosno lugar deandroid. - Assine e envie. No Xcode, abra Signing & Capabilities e escolha a sua equipe. Com anúncios ou compras, adicione In-App Purchase. Depois Product, Archive, Distribute, para o App Store Connect.
- Teste no seu iPhone com o TestFlight.
- Preencha a página da loja e envie para revisão. Com anúncios, a Apple os conta como rastreamento.
Compilar na nuvem
Sem Android Studio e sem Mac: o GitHub pode compilar o app nos próprios computadores. Envie o projeto para o GitHub no passo 1 e o repositório recebe dois workflows de compilação, um para Android e outro para o iPhone. O passo Build it mostra então Build it in the cloud, com um botão para a página do workflow no GitHub.
No GitHub abra Actions, escolha Android build ou iPhone build, clique em Run workflow e escolha o que compilar:
| Workflow | Opção | O que você recebe |
|---|---|---|
| Android build | Test APK | Um app para instalar no seu próprio celular, nos Artifacts da execução. Nada para configurar. |
| Android build | Make a new key | A chave de assinatura, criada uma vez antes do seu primeiro envio ao Google Play. Só em um repositório privado. |
| Android build | Google Play bundle (.aab) | O arquivo assinado para o Play Console, com um número de versão maior a cada execução. |
| iPhone build | Check that it builds | A prova de que o app compila para o iPhone. Não precisa de conta da Apple. |
| iPhone build | TestFlight | O app assinado e enviado ao App Store Connect, para instalar com o TestFlight. |
Um repositório privado tem 2.000 minutos grátis por mês nos computadores do GitHub. Uma compilação Android usa poucos deles, e o GitHub conta um minuto de Mac como dez. O README do repositório explica cada passo.
Antes do primeiro Google Play bundle
- Execute Make a new key e baixe upload-key da execução.
- Guarde
upload.jkse a senha em um lugar seguro, fora do repositório. Toda atualização precisa ser assinada com a mesma chave. - No repositório abra Settings, Secrets and variables, Actions e adicione três secrets, cada um com o texto do seu arquivo:
ANDROID_KEYSTORE_BASE64,ANDROID_KEYSTORE_PASSWORDeANDROID_KEY_ALIAS. - Execute Google Play bundle (.aab) e envie o arquivo para Internal testing no Play Console.
Antes da primeira compilação para o TestFlight
- No App Store Connect crie o app, com o mesmo ID do passo 1.
- Em Users and Access, Integrations, App Store Connect API, gere uma chave com a função Admin e baixe o arquivo .p8 dela. A Apple só deixa baixar uma vez.
- No repositório adicione quatro secrets:
APPLE_TEAM_ID(Membership details em developer.apple.com),ASC_KEY_ID,ASC_ISSUER_IDeASC_KEY_P8, o texto do arquivo .p8. - Execute TestFlight. Alguns minutos depois, a compilação está no App Store Connect, em TestFlight. O workflow informa à Apple que o app usa só criptografia padrão, então o TestFlight não pergunta sobre isso.
Uma conexão com o GitHub feita antes da compilação na nuvem não consegue adicionar os workflows: o passo avisa, e Reconnect no passo 1 resolve.
Contas no app de celular
No app de celular, as pessoas entram com e-mail e senha. O botão do Google e o link de login enviado por e-mail se escondem ali. É por isso que a verificação do Delete account button importa: a Apple recusa um app em que as pessoas podem se cadastrar sem ele.
Anúncios e compras
Um jogo que mostra anúncios ou vende alguma coisa funciona de verdade só no projeto Native: anúncios do Google AdMob, compras das lojas pelo RevenueCat. Na pré-visualização do editor eles são de mentira (“Test ad”, “Test purchase”, nenhum dinheiro é cobrado), então você pode testá-los, e no site publicado ficam escondidos. No caminho fácil, o jogo roda sem eles.
O projeto começa com os anúncios de teste do Google, que não pagam nada. Coloque seus próprios IDs de anúncio e chaves das lojas em src/monetize.keys.json e execute npm run native:setup: o README do projeto diz de onde vem cada um.
O que vai no arquivo de chaves
O arquivo contém o ID do app no AdMob e os IDs das unidades de anúncio premiado e intersticial para Android e iPhone, e as chaves do RevenueCat de cada loja (começando com goog_ para Android e appl_ para iPhone). Sem as chaves do RevenueCat, ou sem produtos, nada é vendido.
Para anúncios reais, crie a conta, os apps e as unidades de anúncio no AdMob, coloque os IDs no arquivo, execute npm run native:setup em pastas nativas novas e publique um arquivo app-ads.txt no site. Para compras, crie os produtos no Play Console e no App Store Connect com os mesmos IDs de src/monetize.json e conecte as duas lojas em um projeto do RevenueCat. No iPhone, adicione a capability In-App Purchase.
As duas lojas querem um link para a política de privacidade, e um botão Restore purchases é obrigatório: o projeto fornece um. Entre os anúncios, o app pula um intersticial nos primeiros 30 segundos, em até 60 segundos do último e para um jogador que comprou o produto que remove os anúncios.
Esta página foi útil?
