Cómo implementar las notificaciones push en mi aplicación iOS con Parse Server

El tutorial de abajo detalla cómo hacerlo usando Parse Server alojado en www.back4app.com.

Si tu dispositivo iOS detecta push, no necesitas cuenta de desarrollador de apple. Hay 4 pasos principales para usar Push.

  1. Identificación de la aplicación y certificación SSL: Este certificado permitirá al servidor de Parse enviar notificaciones push a la aplicación identificada por el App ID.
  2. Provisión de perfil para este app ID: Autentifica tu dispositivo para ejecutar la app que estás desarrollando. Tanto si has creado un nuevo App ID como si has modificado uno ya existente, deberás regenerar tu perfil de aprovisionamiento e instalarlo.
  3. Configura la aplicación Parse utilizando el certificado SSL generado: Para utilizar las notificaciones Push con Parse, deberá habilitar esta función en su app Parse y cargar el certificado SSL Push que creó anteriormente

Vamos a repasar cada uno de ellos en detalle.

  • Identificación de la app y certificación SSL

Antes de obtener el certificado SSL, deberá firmar un archivo de solicitud de firma de certificado. Para ello, abre tu aplicación Llavero. Ve al acceso al llavero y solicita un certificado a la autoridad certificadora. Rellene la información requerida y descargue el archivo de solicitud de firma de certificado.

main-qimg-58d942b5787f708dddb687cf3e51dd8b.webp main-qimg-039979ad8c6df9dc9958be181ffb4ddb.webp

Ahora, inicie sesión en el portal de desarrolladores de Apple. Ve al portal de aprovisionamiento de iOS. Seleccione App IDs en el menú.

main-qimg-3c936db373ce55c904962b864b9ec649.webp

Si ya ha configurado un App ID para su aplicación, vuelva a comprobar que se ha configurado como un Explicit App ID. Los Wildcard App IDs no pueden soportar notificaciones push y son fáciles de identificar: el último carácter del identificador del paquete es un asterisco (*). Los Wildcard App IDs no se pueden convertir en Explicit App IDs, pero configurar un nuevo App ID para su aplicación es bastante sencillo.

Seleccione el botón de nuevo App ID. Rellena el formulario con todos los datos. Haz clic en enviar.

main-qimg-98ebfc1e4345555b1c557a244f65f091.webp

Encontrarás tu app ID en la lista y hay una opción para configurarlo. Encontrarás el certificado SSL que estás buscando.

Si todavía estás desarrollando tu aplicación, puedes elegir el certificado SSL Push de desarrollo, si no, si estás listo para el lanzamiento ve por el certificado SSL Push de producción.

main-qimg-904366b0d4adda2de6138af90c7e0e01.webp

En el siguiente paso selecciona el archivo .cert que creamos anteriormente. Genera y descarga el certificado SSL.

main-qimg-8efd75e606b03c867eb09532428dbba0.webp main-qimg-7ba1aa6a8ec13145ad5496d4aa8e964b.webp

Haz doble clic en el certificado SSL para instalarlo. Lo encontrarás en tu lista de certificados. Puede hacer clic con el botón derecho en el certificado SSL de Apple y guardarlo como un archivo P12.

main-qimg-1500562c6af3d33916ec26c854a627a5.webp

¡No introduzca una contraseña de exportación cuando se le pida! Deje ambos campos en blanco y haga clic en Aceptar.

main-qimg-87cd31f539192cd3bdac49ab8094b5ac.webp

  • Perfil de aprovisionamiento para este ID de aplicación

Vuelva a navegar por el portal de desarrollo de Apple hasta el perfil de aprovisionamiento. Puede utilizar un ID de aplicación existente y un perfil de aprovisionamiento existente. Pero es necesario regenerarlo y volver a instalarlo. Si quieres crear uno nuevo, selecciona nuevo perfil.

main-qimg-c100ac9189ae71bfaee55f92649e3d21.webp

Rellena toda la información y selecciona tu certificado SSL, el ID de la app y el dispositivo con el que vas a realizar las pruebas. Envía para crear el nuevo perfil.

main-qimg-9cd1f7fa6b94e2967fbb5e6a179fc1b4.webp

Descarga el perfil que has creado y haz doble clic en él para instalarlo en tu ordenador. La utilidad de tu iPhone te pedirá que añadas el nuevo perfil. Hazlo y cierra esa app.

main-qimg-bb10930d82bab593f5f8092b14359fe7.webp

  • Configura la app Parse usando el certificado SSL generado

Para empezar a usar la función Push necesitas informar a la back{4}app sobre ella. Para ello, vaya a su aplicación en el tablero de instrumentos. Ve a la pestaña de ajustes. Debajo de esto tienes la configuración de las notificaciones Push de iOS. Selecciona el certificado .p12 que has generado. Haz clic en desarrollo o producción, según corresponda. Si quieres que sea la propia app la que inicie el push haz clic en yes en Client push enabled.

Comienza configurando los ajustes del proyecto de tu aplicación en Xcode. Tendremos que asegurarnos de que tanto el ID de la aplicación como el perfil de aprovisionamiento están configurados correctamente.

Seleccione su proyecto en el navegador de proyectos y, a continuación, seleccione el objetivo de su aplicación en la ventana principal del Editor. Asegúrese de que "General" está seleccionado en la parte superior.

main-qimg-66870ac19da940b481f49e0950d70484.webp

Modifique el campo Bundle Identifier bajo Identity para que coincida con su App ID's Bundle Identifier (ex. com.example.MyParsePushApp). Xcode puede advertirle en este punto si no ha configurado su perfil de aprovisionamiento correctamente.

main-qimg-be7e471ddac6578f5649af3d64ee9a5e.webp

Haga clic en "Capabilities" y active las notificaciones push. De nuevo, Xcode te avisará si hay algún problema que requiera tu atención. Haz clic en "Build Settings" y encuentra el campo "Code Signing Identity". Este campo debería estar configurado como "Desarrollador iOS" si estás probando en desarrollo, o "Distribución iOS" si estás probando en producción o construyendo tu aplicación para la App Store.

Asegúrate de que el certificado de aprovisionamiento está configurado correctamente en tu aplicación. Entonces, así es como puedes configurar las notificaciones Push.

Aquí están los cambios que necesitas hacer en el delegado de la app para poder recibir notificaciones push.

Llama al método registerForRemoteNotifications para registrar el dispositivo actual para push.

Si el registro es exitoso, el método callback application:didRegisterForRemoteNotificationsWithDeviceToken debe ser implementado. Este método se llama después de que el dispositivo se registra con éxito.

Para notificar sobre el Push, llame al método storeDeviceToken en el objeto PFPush.

A continuación, suscriba al usuario al canal de difusión utilizando el método subscribeToChannelInBackground con una cadena vacía.

Si el dispositivo no se registra, puede llamar al método didFailToRegisterForRemoteNotificationWithError para manejar el error. Imprime un mensaje de error apropiado. Esto se muestra si la aplicación se está ejecutando en primer plano.

Pero si se está ejecutando en segundo plano podemos manejarlo utilizando la aplicación didReceiveRemoteNotification. Esto ayuda a mostrar el contenido de la notificación modal.

main-qimg-e6751fdd1ec1a7c97c39c95e4cd0537b.webp

Después de esto construye tu aplicación. Conecta tu dispositivo iOS. Ejecútalo y cierra la pantalla.

En tu aplicación ve a la pestaña de notificaciones Push. Envía un mensaje de muestra en el canal de difusión. Check this notification on your iOS phone.

Disclaimer, I´m a cofounder at www.back4pp.com