Enviar notificaciones push en Ionic con APNS y PHP
Enviar notificaciones push en Ionic con APNS y PHP


En este tutorial vamos a ver un paso a paso para Enviar notificaciones push en Ionic con APNS y PHP, veremos cómo generar los certificados de apple, el certificado .pem, cómo generar los tokens para APNS y también cómo enviar las notificaciones utilizando APNS y PHP.

Aquí puedes ver una entrada anterior donde hablábamos sobre las notificaciones push en Ionic, en este tutorial vamos a ver algo similar, pero en esta ocasión vamos a ver cómo hacerlo con APNS y PHP.

Para poder desarrollar este tutorial necesitas una cuenta de pago en apple developers y un equipo mac os.

¿Qué es APNS?

APNS son las siglas de Apple Push Notification Service y nos sirve para hacer lo mismo que hace Firebase (FCM) pero para iOS, es decir, enviar notificaciones push para dispositivos iOS utilizando un token APNS en lugar de un token de FCM.

¿Cuál es la diferencia entre APNS y FCM?

Para entenderlo mejor vamos a vojear dos tokens, un token es útil para APNS y el otro para FCM.

Cómo puedes ver el formato de los tokens es bien distinto, y cada uno es válido para un servicio en concreto.

¿Cómo puedo configurar tokens APNS y FCM en Ionic?

Nosotros vamos a trabajar todos los ejemplos utilizando el plugin phonegap push notifications que se adapta de fábula a Ionic 3.

Si quieres enviar todas las notificaciones con FCM, tanto para Android como para iOS, entonces tu configuración debe ser la siguiente.

Con esa configuración todos los tokens generados serán para FCM, pero si quieres utilizar APNS para iOS, entonces simplemente deberías hacer lo siguiente.

Así es, sólo debes eliminar el senderID de la configuración de iOS y los tokens se generarán de forma correcta para utilizar los servicios de APNS.

Enviar notificaciones push en Ionic con APNS y PHP

Hasta el momento hemos hecho lo sencillo, que es generar los tokens de forma correcta para cada servicio, ahora vamos a saltar a PHP para ver cómo podemos hacer el envío de las notificaciones a dispositivos iOS utilizando APNS.

Lo que vamos a necesitar es generar los certificados para poder enviar notificaciones push para iOS, eso lo conseguimos con una cuenta de pago en Apple Developers y accediendo a la sección de certificados.

Generar un archivo .certSigningRequest

Este archivo es clave ya que es el que nos va a ayudar a generar todos los certificados de nuestra app, para generarlo simplemente abre el almacén de llaves y sigue los siguientes pasos.




Una vez tengas el archivo dirígete aquí y selecciona la siguiente opción.


Sigue el wizard y cuando te solicite el archivo .certSigningRequest selecciona el que hemos generado anteriormente, finalmente descarga el archivo Apple Development IOS Push Services y haz doble click para instalarlo en tu almacén de claves.

Con este certificado debemos generar el archivo .p12, útil para generar la clave .pem para poder utilizar APNS, así que desde el almacén de claves pulsa botón derecho sobre el certificado que acabamos de instalar (Apple Development IOS Push Services) y descárgalo en formato .p12.

Generar el certificado .pem a partir del .p12

Ahora vamos a abrir un terminal y ejecutamos el siguiente comando buscando el archivo .p12 que acabamos de generar.

Cuando hayas finalizado tendrás en el mismo directorio un nuevo certificado llamado apns-dev-cert.pem el cual vamos a poder utilizar para enviar notificaciones push en Ionic con APNS y PHP.

Enviar notificaciones Push con Ionic 3 y PHP

El último paso del puzzle es añadir un pequeño script en el servidor para poder enviar las notificaciones, fíjate que nosotros hemos creado un certificado para desarrollo, pero también lo puedes crear para producción, el proceso es exactamente el mismo.

Para poder enviar las notificaciones con PHP simplemente añade el siguiente trozo de código en el servidor y lo tendrás todo funcionando.

Lo único que debes saber aquí es lo siguiente.

  • Para enviar notificaciones en el entorno de pruebas con un certificado de desarrollo debes utilizar el host ssl://gateway.sandbox.push.apple.com:2195.
  • Para enviar notificaciones en el entorno de producción con un certificado de desarrollo debes utilizar el host ssl://gateway.push.apple.com:2195.
  • $iosTokens es un array de tokens para APNS, si no tienen ese formato el script fallará.

Sólo me queda invitarte al curso de Ionic 3 donde aprenderás todo lo que necesitas para el desarrollo profesional de aplicaciones móviles.

Curso de Ionic 3

Más de 100 videotutoriales para desarrollar completas Apps

En cursosdesarrolloweb.es tienes un curso completo para aprender a trabajar con Ionic 3 todo a través del desarrollo de apps desde 0, Facebook, Google Maps, Paypal, PushNotifications y mucho más.

Todos los cursos tienen acceso de forma indefinida 24/7, así que puedes seguirlos adecuando el horario a tus necesidades.