Certificados e chaves APNs, explicados

Certificados e Chaves APNs, Explicados (.p8 vs .p12)

Todas as integrações de notificações push iOS começam no mesmo ponto: provar ao serviço de Notificação Push da Apple que você tem permissão para enviar mensagens aos utilizadores da sua aplicação. A Apple oferece duas formas de o fazer — uma chave de autenticação APNs (.p8) ou um certificado APNs (.p12) — e a diferença entre elas é a diferença entre uma credencial que configura uma vez e outra que renovará anualmente, muitas vezes no pior momento possível.

Este guia explica como funciona a autenticação APNs, quando usar uma chave .p8 em vez de um certificado .p12 e o punhado de erros que remontam a fazer isto incorretamente.

Como funciona a autenticação APNs

Quando o seu fornecedor de push — PushEngage, ou o seu próprio servidor — envia uma notificação, liga-se à API do fornecedor APNs da Apple e tem de provar duas coisas: que está autorizado a enviar em seu nome e que tem permissão para direcionar o ID de pacote da sua aplicação (o "tópico" em termos APNs). A chave .p8 e o certificado .p12 são apenas duas formas diferentes de o provar.

O lado do dispositivo é separado. A sua aplicação regista-se com a APNs e recebe um token de dispositivo — essa parte nunca muda, independentemente da credencial que o seu fornecedor utiliza. A autenticação é puramente uma preocupação do servidor para a Apple, razão pela qual pode mudar de método sem tocar no binário da sua aplicação.

A chave de autenticação .p8 (use esta)

O .p8 é uma chave de assinatura de token. O seu fornecedor utiliza-a para emitir Tokens Web JSON de curta duração que autenticam cada ligação à APNs. As suas propriedades tornam-na a escolha padrão para quase todos:

  • Nunca expira. Sem renovação anual, sem interrupção de push numa data esquecida.
  • Uma chave cobre todas as aplicações na sua conta de desenvolvedor. Lance uma segunda aplicação e a mesma chave autentica-a.
  • Funciona tanto para ambientes de desenvolvimento como de produção — sem pares de certificados sandbox/produção.
  • Viaja como três valores: o ficheiro .p8 em si, o ID da Chave de 10 caracteres e o seu ID de Equipa.

Duas coisas a saber antes de criar uma. A Apple limita-o a duas chaves APNs ativas por conta, pelo que organizações grandes devem tratar a criação de chaves como um ato deliberado, não um hábito por projeto. E o ficheiro .p8 só pode ser descarregado uma vez, no momento da criação — guarde-o num local onde a sua equipa o possa encontrar, porque a Apple não o fornecerá novamente.

O certificado .p12 (o caminho legado)

O .p12 é um certificado de cliente TLS, exportado do Acesso às Chaves após a Apple o emitir. Autentica a própria ligação em vez de assinar tokens. Ainda funciona, e algumas políticas de segurança empresarial ainda o exigem, mas as suas restrições são a razão pela qual a Apple direciona novas integrações para a chave:

  • Expira anualmente. A causa mais comum de falha súbita e total de push é um certificado APNs que expirou silenciosamente.
  • Está limitado a uma única app. Cada ID de bundle necessita do seu próprio certificado, e cada certificado necessita do seu próprio calendário de renovação.
  • Requer um Mac. A exportação de pedidos de assinatura e do Keychain não tem um caminho apenas através do navegador.

Qual deve usar?

Chave de autenticação .p8Certificado .p12
ExpiraNuncaA cada 12 meses
ÂmbitoTodas as apps na contaUm ID de bundle
AmbientesDesenvolvimento + produçãoSeparados ou combinados por certificado
Criado a partir deQualquer navegadorMac com Acesso ao Keychain
Limite da conta2 chaves ativasPares por app
Usar quandoQuase sempreA política exige certificados

A resposta honesta: use a chave .p8 a menos que uma política de segurança force o caminho do certificado. Menos partes móveis, nada a renovar, uma credencial para todo o seu portfólio.

Criar uma chave .p8 em três minutos

  1. Na sua conta de Desenvolvedor Apple, vá a Certificados, Identificadores e Perfis → Chaves e registe uma nova chave.
  2. Dê-lhe um nome, ative a caixa de verificação Serviço de Notificações Push da Apple (APNs) e continue.
  3. Descarregue o ficheiro .p8 (lembre-se: uma oportunidade), e anote o ID da Chave mostrado no ecrã de confirmação e o seu ID da Equipa da página de adesão à conta.
  4. Carregue os três valores para o seu fornecedor de push. No PushEngage, este é um único ecrã nas configurações da sua app — o guia de credenciais APNs percorre-o com capturas de ecrã.

Os erros que isto explica

Uma percentagem surpreendente de tickets de “push está quebrado” são problemas de credenciais a disfarçar-se. Os suspeitos habituais:

  • BadDeviceToken — está a enviar o token de uma aplicação criada em sandbox através do ambiente de produção, ou vice-versa. Compilações de depuração do Xcode comunicam com a sandbox; compilações do TestFlight e da App Store comunicam com a produção.
  • TopicDisallowed — a credencial não cobre o ID do pacote que está a visar. Típico com certificados .p12 por aplicação e uma configuração copiada e colada.
  • Falha súbita de entrega de 100% — um .p12 expirado. Verifique a data de expiração do certificado antes de verificar qualquer outra coisa.
  • InvalidProviderToken — uma chave .p8 revogada, ou o par errado de Key ID/Team ID juntamente com um ficheiro válido.

Onde isto se encaixa na sua integração

A credencial APNs é o primeiro passo de uma única sessão de configuração. Carregue o .p8 para o PushEngage uma vez, e tudo o que se segue — a integração com o SDK iOS 1.0, multimédia rica através da sua extensão de notificação, campanhas acionadas e a própria entrega — funciona com base nela sem mais cerimónias. Se vem do Firebase, a mesma chave que deu ao FCM funciona aqui, o que é parte da razão pela qual migrar do FCM no iOS é um projeto de uma tarde.

Para a camada de estratégia que vem após a configuração, comece com o guia de marketing push para aplicações. E quando estiver pronto para enviar, o guia completo de configuração iOS leva-o da credencial à primeira campanha em menos de uma hora.

Adicionar um Comentário

Temos todo o gosto que tenha escolhido deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com a nossa política de privacidade, e todos os links são nofollow. NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.

Interaja e Mantenha Visitantes Depois de Saírem do Seu Website

Aumente o valor de cada visita web com Notificações Push que são difíceis de ignorar.

  • Plano Gratuito para Sempre
  • Configuração Fácil
  • Suporte 5 Estrelas