Apple Push Notification service (APNs) es un servicio de entrega proporcionado por Apple para su ecosistema iOS, el cual transporta mensajes desde servidores remotos hasta dispositivos como iPhones, iPads y Macs. El rol del servidor de la aplicación en todo esto es actuar como un intermediario entre el servidor de la aplicación y los dispositivos mediante la facilitación de la transmisión de información en tiempo real. Cuando el equipo de desarrollo busca entregar una notificación push al dispositivo del usuario, emplean un APN para enviar ese mensaje directamente al sistema operativo del dispositivo. Entonces, el usuario recibe la notificación.
Aparte de eso, los APNs son responsables de proporcionar a los usuarios información relevante sobre las aplicaciones donde las instalan y hacerlo más sencillo para ellos mantenerse actualizados.
Los APNs ofrecen varios tipos de notificación que pueden ser entregados a los gadgets de Apple. Estas notificaciones consisten en insignias, sonidos y alertas de texto personalizadas. Las insignias son pequeños símbolos numéricos que aparecen en los iconos de las aplicaciones, indicando la existencia de nuevo contenido o mensajes no leídos. Las notificaciones pueden estar acompañadas de sonidos para atraer la atención de los usuarios y actuar como una alerta audible. Las alertas de texto personalizadas permiten a los desarrolladores enviar mensajes dedicados, que contienen información sobre el uso de la aplicación directamente a los usuarios.
Con estos diferentes tipos de notificaciones, los desarrolladores pueden diseñar actividades fascinantes e interactivas para los usuarios de sus aplicaciones. Ya sea un juego informando al jugador sobre un nuevo nivel o una aplicación de mensajería enviando mensajes en tiempo real, los APNs siguen siendo el medio central de accesibilidad para varios tipos de notificaciones.
Los APNs fueron presentados por primera vez por Apple el 9 de junio de 2008, en la WWDC (Conferencia Mundial de Desarrolladores). Inicialmente, la aceptación de los APNs enfrentó problemas de escalabilidad debido al alto número de notificaciones push y los subsiguientes retrasos en la entrega de las notificaciones. Apple abrió el acceso a los APNs para Mac OS X, lo que permitió a los desarrolladores transmitir notificaciones push a los Macs y proporcionó una experiencia unificada para los usuarios a través de los dispositivos de Apple.
A lo largo de los años, los APNs han pasado por varias modificaciones técnicas para aumentar sus capacidades y efectividad. Una mejora notable fue el incremento de la carga útil de las notificaciones de 256 bytes a 2 kilobytes. Apple también creó una interfaz de envío más eficiente que redujo la sobrecarga y aumentó la eficiencia general de los APNs. Una de las mejoras clave de los APN fue el cambio a la API del proveedor HTTP/2. Esto introdujo una serie de beneficios, como la entrega de notificaciones push a los dispositivos de manera más rápida y eficiente mediante multiplexación.
Deben estar en lugar ciertos protocolos y estándares para establecer la conexión entre los servidores de aplicaciones y los APNs. Los APN utilizan puertos TCP específicos para la comunicación, y por lo tanto, es necesario que estén abiertos y accesibles.
Número de puerto | Funcionalidad | Soluciones para problemas de acceso |
---|---|---|
5223 | Se utiliza para recuperar información sobre dispositivos que han desinstalado una aplicación o han desactivado las notificaciones | Utilice métodos alternativos como HTTP/2 o proveedores de notificaciones push de terceros para la compatibilidad con APNs |
443 | Puerto principal para enviar notificaciones push desde servidores de aplicaciones a APNs | Utilizar métodos alternativos como HTTP/2 o proveedores de notificaciones push de terceros para la compatibilidad con APNs |
A veces, estos puertos pueden estar bloqueados por restricciones de firewall o configurados de tal manera que no se permita el acceso directo. Para superar estas limitaciones, los desarrolladores pueden adoptar soluciones alternativas como HTTP/2 o servicios de notificación push de terceros que soporten APN.