DocumentaçãoPublicar
Disponível a partir do plano Builder

Conectando suas contas Apple e Google

As credenciais que a plataforma usa para assinar, enviar e notificar em seu nome, onde gerar cada uma e o erro clássico de cada uma delas. Elas ficam criptografadas e nunca voltam para a tela.

Custo em créditos: nenhum passo deste guia consome crédito de IA.

São quatro credenciais, e elas parecem iguais duas a duas

Credencial Para que serve Precisa se
Chave da App Store Connect (.p8 + Key ID + Issuer ID + Team ID) assinar e enviar o build para a Apple você publica no iOS
Conta de serviço do Play Console (.json) enviar versões ao Google Play você publica no Android
Firebase: google-services.json + conta de serviço (.json) entregar notificação no Android você usa push no Android
Chave de In-App Purchase da Apple (.p8) verificar uma compra feita dentro do app você vende dentro do app no iOS

O passo Contas do assistente, com a lista do que precisa estar feito no Play Console e na Apple antes de enviar, e os campos onde entram a chave da App Store Connect e a conta de serviço do Google.

Duas armadilhas nascem daí. A conta de serviço do Play Console não é a do Firebase: uma publica o app, a outra manda notificação, e as duas são arquivos .json parecidos. E a chave de In-App Purchase não é a chave da App Store Connect: a Apple emite as duas separadamente, as duas são arquivos .p8 com um bloco BEGIN PRIVATE KEY, e por fora são indistinguíveis. Por isso a plataforma confere a de compras com a Apple na hora de salvar, em vez de olhar o formato.

Google Play

1. Criar o app no console, com o identificador exato

No Play Console, Criar app. O nome do pacote precisa ser exatamente o identificador que a aba Aplicativo mostra (há um botão de copiar ao lado dele).

A API do Google não cria o app. Se o pacote não existir, o envio falha com Package not found, e o nome do pacote não pode ser renomeado depois.

2. Criar a conta de serviço

A conta de serviço é o "usuário robô" que envia as versões. Ela é criada no Google Cloud e autorizada no Play Console. Hoje o Google não exige mais vincular o projeto do Cloud ao Play Console para usar a API, então o caminho é direto:

  1. no Google Cloud Console, crie (ou escolha) um projeto;
  2. ative a Google Play Android Developer API nesse projeto;
  3. em APIs e serviços → Credenciais → Criar credenciais → Conta de serviço, crie a conta. Não precisa dar papel nenhum aqui: a permissão que importa é a do Play Console, no passo seguinte;
  4. na conta criada, aba Chaves → Adicionar chave → Criar nova chave → JSON. O arquivo baixa na hora, e é ele que você envia para a plataforma.

Guarde esse .json como se fosse uma senha: quem tem o arquivo consegue publicar no seu Play Console.

3. Dar permissão no Play Console

Este é o passo esquecido com mais frequência, e o sintoma engana: o arquivo é aceito aqui e o envio é recusado lá.

No Play Console, Usuários e permissões → Convidar novo usuário, use o e-mail da conta de serviço (algo como nome@projeto.iam.gserviceaccount.com), adicione o app na aba de permissões por app e marque:

  • Liberar apps para faixas de teste (release to testing tracks);
  • Liberar para produção, excluir dispositivos e usar o Play App Signing, se você vai publicar em produção.

Convide. A conta de serviço aparece na lista como qualquer outro usuário.

4. A impressão digital SHA-256 (opcional)

Serve só para os links do seu site abrirem dentro do app. Fica em Configurações → Integridade do app → Assinatura de apps. Use a do certificado da chave de assinatura do app, não a da chave de upload: usar a de upload é o erro clássico, o valor parece certo e a verificação de links nunca passa.

Apple

1. A chave da App Store Connect

No App Store Connect, em Users and Access → Integrations → App Store Connect API → Team Keys, clique em Generate API Key. Dê um nome e escolha o papel.

O papel precisa ser Admin. App Manager não consegue criar o certificado de assinatura, e essa falha só aparece no fim do build, depois de 20 minutos de compilação, numa mensagem sobre certificado que não diz "papel errado".

Ao gerar, a Apple deixa você baixar o arquivo .p8 uma única vez. Se perder, não dá para recuperar: revogue a chave e gere outra. Da mesma tela você tira os outros dois campos: o Key ID (dez caracteres, na linha da chave) e o Issuer ID (um UUID, escrito acima da lista, igual para todas as suas chaves).

Trocar Issuer ID por Key ID é o erro mais comum, porque os dois vêm da mesma tela.

2. O Team ID

Em developer.apple.comMembership, no canto superior direito, ao lado do nome do time. São dez caracteres. Sem ele o build não consegue se autenticar para assinar, e falha na nuvem com um erro sobre certificado.

3. Guardar o identificador

O mesmo identificador do passo Marca. É por ele que a Apple reconhece que uma versão nova é o mesmo app, e ele não muda depois da primeira publicação.

Notificações no Android: os dois arquivos do Firebase

O Android entrega notificação pelo Firebase Cloud Messaging, e isso exige um projeto Firebase seu. São dois arquivos diferentes do mesmo projeto, e eles só funcionam juntos:

Arquivo Onde fica Onde baixar
google-services.json dentro do app, para ele saber a qual projeto pertence Firebase → Configurações do projeto → Seus apps → Android
Conta de serviço (.json) no nosso servidor, para autorizar o envio Firebase → Configurações do projeto → Contas de serviço → Gerar nova chave privada

Crie o app Android dentro do projeto Firebase com o mesmo identificador do app. Se os dois arquivos vierem de projetos diferentes, o envio da notificação falha com um erro de remetente que não diz isso com essas palavras.

O iOS não usa Firebase. Lá a entrega passa pela Apple, com a credencial que a plataforma já cria na sua conta. Sem estes dois arquivos, o push funciona no iPhone e não no Android.

A chave de In-App Purchase

Só é necessária se você vai vender assinatura ou compra dentro do app no iOS. Em Users and Access → Integrations → In-App Purchase, clique em Generate In-App Purchase Key. Também baixa uma única vez, e o papel exigido é Account Holder ou Admin.

O guia Vender assinaturas dentro do app explica o resto do caminho.

O que a plataforma não consegue verificar por você

Conectar a conta é metade do trabalho. A outra metade acontece dentro do console da loja, e de fora não dá para ver se foi feita: se o app existe no Play Console, se a conta de serviço recebeu permissão, se a chave tem papel Admin.

Por isso a tela lista essas exigências sem travar o botão. Ela prefere deixar você tentar e falhar com uma mensagem clara a fingir que sabe algo que não sabe.

Abrir a Fabapp
Relacionados
Publicar seu app na App Store e no Google PlayVender assinaturas dentro do appQuando algo dá errado