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.
Certificados .p12 expiram após um ano. Se você não quer gerenciar a renovação deste certificado, você pode criar uma chave .p8 em vez disso, que não expira.
Este guia irá orientá-lo na configuração de um arquivo baseado em certificado (.p12). Isso não é recomendado porque você deve renová-lo anualmente. Isso inclui fazer login na sua conta Apple Developer para gerar o novo certificado e enviá-lo ao seu painel OneSignal todos os anos.

Requisitos

Certifique-se de ter o seguinte antes de começar:
  • Um aplicativo iOS ou macOS.
  • Uma Conta Apple Developer paga com acesso de Admin.
  • Uma Conta OneSignal.
  • Um mac com Xcode 14+.
  • O Bundle ID para seu app target conforme definido no Xcode.
  • Um projeto Xcode com Push Notification capability habilitada.

Criar uma Solicitação de Assinatura de Certificado (CSR)

Primeiro você precisa criar um arquivo .certSigningRequest no macOS.
  1. Abra Applications > Utilities > Keychain Access.
  2. Na barra de menu, clique em Keychain Access > Certificate Assistant > Request a Certificate From a Certificate Authority…
Menu do Keychain Access mostrando a opção Certificate Assistant
  1. Preencha os campos obrigatórios:
    • User Email Address: [email protected]
    • Common Name: Seu nome ou o nome para o certificado
    • CA Email Address: Deixe em branco
    • Request is: Selecione Saved to disk
Janela do Certificate Assistant com campos de e-mail, nome comum e a opção Saved to disk
  1. Clique em Continue, escolha um local para salvar o arquivo .certSigningRequest e clique em Save.

Habilitar push capabilities para o aplicativo

Pule esta seção se você usa Automatically manage signing no Xcode.
  1. Vá para a seção Identifiers do portal Apple Developer, localize e selecione o App ID do seu aplicativo na lista.
Seção Identifiers do Apple Developer mostrando a lista de App IDs
  1. Habilite a capability Push Notifications marcando a caixa.
Não clique em “Configure” — apenas habilite o toggle.
Lista de capabilities do App ID com a caixa Push Notifications marcada

Criar um certificado push

Siga estes passos para gerar o certificado SSL do Apple Push Notification service (APNs):
  1. Visite a página de Certificados da Apple.
  2. Clique no botão plus (+) para criar um novo certificado.
  3. Em Services, selecione:
    • Apple Push Notification service SSL (Sandbox & Production)
    • Em seguida, clique em Continue
    Página de Certificados da Apple mostrando a opção Apple Push Notification service SSL Sandbox and Production
  4. Selecione seu App ID na lista e clique em Continue.
Dropdown de seleção do App ID para o certificado push
  1. Faça upload do arquivo .certSigningRequest gerado anteriormente.
Diálogo para upload do arquivo Certificate Signing Request
  1. Clique em Continue, depois clique em Download para salvar o arquivo .cer resultante no seu computador.
Botão Download para o arquivo de certificado .cer gerado
Você usará este arquivo .cer na próxima seção para criar seu certificado .p12.

Criar uma chave privada e exportar o certificado .p12

  1. Clique duas vezes no arquivo .cer baixado para importá-lo para o Keychain Access.
  2. No Keychain Access, navegue para:
    • Keychains > Login
    • Category > My Certificates
  3. Localize o certificado chamado Apple Push Services.
  4. Clique com o botão direito no certificado e selecione Export.
Menu de contexto do Keychain Access mostrando a opção Export para o certificado Apple Push Services
  1. Escolha um local para salvar o arquivo e selecione o formato de arquivo como .p12.
  2. Quando solicitado, defina uma senha para o arquivo .p12. Você precisará desta senha ao fazer upload para o OneSignal.
Diálogo de salvamento mostrando a seleção do formato .p12 e o campo de senha

Fazer upload do .p12 para o OneSignal

  1. No seu painel do OneSignal, vá para seu aplicativo > Settings > Push & In-App > Apple iOS.
  2. Faça upload do arquivo .p12 (e insira a senha se você definiu uma). Clique em Save.
Você configurou com sucesso a autenticação APNs usando um certificado .p12 no OneSignal.Seu aplicativo iOS agora está pronto para enviar e receber notificações push! 🎉

Solução de problemas do .p12

Erro de formato de certificado inválido

Causa: O arquivo enviado não está no formato .p12. Solução: Certifique-se de exportar o certificado do Keychain Access como .p12 (não .cer ou .pem).

”Incorrect password” ao fazer upload para o OneSignal

Causa: A senha foi inserida incorretamente ou não foi definida. Solução:
  • Tente exportar novamente e defina uma nova senha.
  • Certifique-se de que não há espaços extras ao colar.
  • Se estiver usando o Provisionator, a senha é mostrada na UI.

Chave privada ausente no arquivo exportado

Causa: O certificado foi importado mas não foi pareado com uma chave privada. Solução:
  • Certifique-se de gerar o CSR do Keychain Access na mesma máquina.
  • Após baixar o arquivo .cer, clique duas vezes para instalar e verifique se a chave aparece em My Certificates.

Notificações push não funcionam após upload

Causa: App ID incorreto ou Provisioning Profile sem capabilities. Solução:
  • Confirme se o .p12 corresponde ao App ID usado no aplicativo.
  • No Apple Developer Portal, certifique-se de que o App ID tem Push Notifications habilitadas.
  • Certifique-se de que o Provisioning Profile inclui Push.

Certificado expirado

Causa: O certificado .p12 não é mais válido. Solução:
  • Vá para Apple Developer > Certificates e verifique a expiração.
  • Revogue o certificado antigo e crie um novo.

Próximos passos

Configuração do SDK iOS

Instale o SDK do OneSignal, inicialize-o no seu aplicativo e envie uma notificação de teste.

Configuração do SDK mobile

Escolha sua plataforma e siga o guia completo de integração do SDK para Android, iOS ou frameworks multiplataforma.

Perguntas frequentes

Quando meu certificado .p12 expira e como posso renová-lo?

Certificados .p12 expiram um ano após a criação. Para renovar, gere um novo CSR, crie um novo certificado push no Apple Developer, exporte-o como .p12 e faça o novo upload para o seu painel do OneSignal. Defina um lembrete no calendário para evitar interrupções. Como alternativa, mude para uma chave .p8, que não expira.

Devo usar .p8 ou .p12?

O OneSignal recomenda chaves .p8 para a maioria dos aplicativos. Uma chave .p8 não expira, funciona em todos os aplicativos da sua conta Apple Developer e é mais simples de gerenciar. Um certificado .p12 é específico para cada aplicativo e deve ser renovado anualmente. Consulte o guia de chave .p8 para instruções de configuração.

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.
Aba Signing and Capabilities do Xcode com Automatically manage signing habilitado
Caso contrário, consulte a documentação da Apple sobre provisioning profiles para detalhes.