Pular para o conteúdo principal
Para enviar notificações push para aplicativos iOS, é necessária uma conexão autenticada ao Apple Push Notification Services (APNs). Você pode autenticar usando um método baseado em token (chave .p8) ou um método baseado em certificado (arquivo .p12) — mas apenas um é necessário. Este guia irá orientá-lo na configuração de uma chave .p8 baseada em token, a abordagem recomendada.

Requisitos

Certifique-se de ter o seguinte antes de começar:

Passos

Gerar sua chave .p8 na conta Apple Developer

  1. Faça login na sua conta Apple Developer.
  2. Vá para Certificates, Identifiers & Profiles > Keys.
  3. Clique no ícone plus (+) azul.
    • Se você não o vê, entre em contato com seu Admin para obter acesso.
  1. Selecione Apple Push Notifications service (APNs).
  2. Ao configurar a chave, certifique-se de que Sandbox & Production está selecionado:
  1. Insira um nome para a chave e clique em Continue, depois em Register.
  1. Baixe sua chave .p8 e armazene-a com segurança. Você não poderá baixá-la novamente.
Se você precisar criar um novo .p8 e já tiver dois, você deve primeiro revogar uma das chaves existentes — e ela não será mais utilizável.

Fazer upload da chave .p8 para o OneSignal

  1. Navegue até Settings > Push & In-App > Apple iOS (APNs) Settings no seu painel do OneSignal.

Página de configuração push do painel do OneSignal.

  1. Escolha .p8 Auth Key (Recommended) como o método de autenticação.

Se estiver atualizando de um p12 ou outro p8, você terá a opção de 'update authentication'

Forneça o seguinte:
  • .p8 File – O arquivo de chave privada que você baixou da sua conta Apple Developer.
  • Key ID – Localizado na seção Keys da sua conta Apple Developer. Certifique-se de que corresponde ao arquivo .p8 baixado.
  • Team ID – Encontrado no canto superior direito da sua conta Apple Developer.
  • App Bundle ID – Você pode encontrar isso:

Encontrando os detalhes da sua chave .p8

Encontrando seu Bundle ID no Xcode

Clique em Save & Continue quando terminar.
Você configurou com sucesso a autenticação APNs usando uma chave .p8 no OneSignal.Seu aplicativo iOS agora está pronto para enviar e receber notificações push! 🎉

Solução de problemas do .p8

Checklist passo a passo:
1

Verificar formato do arquivo .p8

  • Abra o arquivo .p8 em um editor de texto.
  • Ele deve ter esta aparência:
    -----BEGIN PRIVATE KEY-----
    64 character line
    64 character line
    64 character line
    8 character line
    -----END PRIVATE KEY-----
    
2

Certifique-se de que não enviou um .p12 por engano

  • Chaves .p8 vêm da seção Keys da sua conta Apple Developer.
  • Certificados .p12 são da seção Certificates. Estes não são compatíveis com autenticação .p8.
3

Confirme que você tem o key id correto

4

Verifique o team id

  • Seu Team ID aparece no canto superior direito da sua conta Apple Developer.
  • Certifique-se de que está copiado exatamente e corresponde à conta onde a chave foi gerada.
5

Certifique-se de que a chave tem capability apns

  • Ao visualizar sua chave no Apple Developer, a capability Apple Push Notifications service (APNs) deve estar listada.
  • Caso contrário, revogue a chave e crie uma nova.
6

Aguarde alguns minutos

  • Chaves recém-criadas podem levar 10–15 minutos para propagar antes que a Apple permita autenticação externa.
  • Se você receber erros de validação imediatamente após a criação, aguarde e tente novamente.

Quando tudo mais falhar

  • Revogue a chave .p8 atual e crie uma nova do zero.
  • Verifique novamente se você está usando um Bundle ID válido da mesma conta em que a chave foi criada.
  • Entre em contato com support@onesignal.com com o Key ID, Team ID, Bundle ID e uma captura de tela editada da sua configuração de chave Apple Developer.

Perguntas frequentes

Preciso de um provisioning profile e como criá-lo?

Sim, a Apple requer diferentes tipos de profiles para desenvolvimento, testes (Ad Hoc) e distribuição para a App Store. No Xcode, você deve ser capaz de selecionar Automatically manage signing para criar um automaticamente.
Caso contrário, consulte a documentação da Apple sobre provisioning profiles para detalhes.