Serviço de Notificação Push da Apple (APNs)

O que é o Serviço de Notificação Push da Apple?

O Serviço de Notificação Push da Apple (APNs) é um serviço de entrega fornecido pela Apple para o seu ecossistema iOS, que transporta mensagens de servidores remotos para dispositivos como iPhones, iPads e Macs. O papel do servidor de aplicativo nisso tudo é atuar como um intermediário entre o servidor de aplicativo e os dispositivos, através da facilitação da transmissão de informações em tempo real. Quando a equipe de desenvolvimento deseja entregar uma notificação push ao dispositivo do usuário, eles utilizam um APN para enviar essa mensagem diretamente para o sistema operacional do dispositivo. Então, o usuário recebe a notificação.

Além disso, os APNs são responsáveis por fornecer aos usuários informações relevantes sobre os aplicativos onde eles os instalam, tornando mais fácil para eles se manterem atualizados.

Um gráfico explicativo de como as notificações por push funcionam, desde quando um usuário permite uma notificação de um aplicativo, passando pelo ciclo completo do servidor de aplicativos e dos APNs, e finalmente entregando a notificação de volta ao dispositivo do usuário
Diagrama do processo de notificação por push com cinco estágios principais

Tipos de Notificações

Os APNs oferecem várias formas de notificação que podem ser entregues aos gadgets da Apple. Essas notificações consistem em insígnias, sons e alertas de texto personalizados. As insígnias são pequenos símbolos numéricos que aparecem nos ícones dos aplicativos, indicando a existência de novo conteúdo ou mensagens não lidas. As notificações podem ser acompanhadas por sons para atrair a atenção dos usuários e atuar como um alerta audível. Alertas de texto personalizados permitem que os desenvolvedores enviem mensagens dedicadas, contendo informações sobre o uso do aplicativo diretamente para os usuários.

Com esses diferentes tipos de notificações, os desenvolvedores podem projetar atividades fascinantes e interativas para os usuários de seus aplicativos. Seja um jogo informando o jogador sobre um novo nível ou um aplicativo de mensagens enviando mensagens em tempo real, os APNs permanecem o meio central de alcançabilidade para vários tipos de notificações.

Evolução dos APNs

Os APNs foram introduzidos pela primeira vez pela Apple em 9 de junho de 2008, na WWDC (Worldwide Developer Conference). Inicialmente, a aceitação dos APNs enfrentou problemas de escalabilidade devido ao alto número de notificações push e aos subsequentes atrasos na entrega das notificações. A Apple abriu o acesso aos APNs para o Mac OS X, o que permitiu que os desenvolvedores transmitissem notificações push para os Macs e proporcionou uma experiência unificada para os usuários em dispositivos Apple.

Melhorias Técnicas nos APNs

Ao longo dos anos, os APNs passaram por várias modificações técnicas para aumentar suas capacidades e eficácia. Uma atualização notável foi o aumento do tamanho dos payloads de notificação de 256 bytes para 2 kilobytes. A Apple também criou uma interface de envio mais eficiente que reduziu a sobrecarga e aumentou a eficiência geral dos APNs. Uma das principais melhorias do APN foi a mudança para a API do provedor HTTP/2. Isso introduziu uma série de benefícios, como a entrega de notificações push de forma mais rápida e eficiente aos dispositivos por meio de multiplexação.

Requisitos e Especificações de Rede

Certos protocolos e padrões devem estar em vigor para estabelecer a conexão entre os servidores de aplicativos e os APNs. O APN usa portas TCP específicas para comunicação, portanto, é necessário que elas estejam abertas e acessíveis.

  • Porta 5223: Esta porta se comunica com o serviço de feedback dos APNs. O serviço de feedback permite que os servidores de aplicativos obtenham dados sobre dispositivos que removeram um aplicativo ou desativaram as notificações push.
  • Porta 443: Esta porta é usada para comunicar a API do provedor dos APNs. É o canal de comunicação dos servidores de aplicativos para os APNs, através do qual as notificações push são enviadas para os dispositivos dos usuários.
Número da portaFuncionalidadeSoluções para problemas de acesso
5223Usado para recuperar informações sobre dispositivos que desinstalaram um aplicativo ou desativaram as notificaçõesUtilize métodos alternativos, como HTTP/2 ou provedores de notificação por push de terceiros para suporte a APNs
443Porta principal para enviar notificações por push de servidores de aplicativos para APNsUtilize métodos alternativos, como HTTP/2 ou provedores de notificação por push de terceiros para suporte a APNs

Às vezes, essas portas podem ser bloqueadas por restrições de firewall ou configuradas de forma que o acesso direto não seja permitido. Para superar essas limitações, os desenvolvedores podem adotar soluções alternativas como HTTP/2 ou serviços de notificação push de terceiros que suportam APN.

Referências

  1. Apple Push Notification Service” Visão geral das notificações – Desenvolvedor Apple
  2. Apple Push Notification service – Wikipedia
  3. iOS Push Notifications Explained | Airship
  4. iOS remote push notifications in a nutshell | por Deyan Aleksandrov | Medium

Additional Resources