Enlace a facebook.
digitalDot diseño webLogo Diseño Web digitalDot

Cómo incluir Notificaciones Push en iOS

Cómo incluir Notificaciones Push en iOS
Escrito por Digitaldot
10 de enero de 2019
Tiempo de lectura 6 min

Para la fidelización de los clientes, podemos incluir en nuestras aplicaciones móviles notificaciones Push que muestren información relevante para quien se haya instalado la app de nuestra empresa.

Si estáis desarrollando una aplicación móvil para iOS, ahora es el momento de que incluyáis esta opción.

Desde digitalDot os vamos a contar cómo podéis hacerlo de una forma muy sencilla. ¿Preparados?, pues adelante.

Implantación de APN en iOS (Push Notifications)

Las notificaciones Push en iOS son enviadas desde un servidor y con estos 6 pasos las podéis tener en vuestra app.

Paso Uno. Certificado CSR

En primer lugar, se debe generar el certificado CSR o Certificate Signing Request. ¿Desde dónde lo hacemos?, desde:

Keychain Access > Certificate Assistant > Request a Certificate From a Certificate Authority

Una vez completados todos los campos lo guardamos en nuestro disco.

En la sección Keys, aparecerán dos claves: una privada y otra pública.

Sobre la clave privada hacemos clic derecho y elegimos la opción “Export ...” y se guarda con una contraseña compleja.

Paso Dos. Certificados en la cuenta de Apple

Ahora vamos a crear los certificados en la cuenta de desarrollador de Apple.

Para ello tenemos que acceder a la web oficial de Apple en el apartado Identifiers se crea o edita el App ID de la aplicación en el que se debe habilitar la opción de “Push Notificaciones” del proyecto.

En la lista de servicios que aparece se crea el certificado SSL de Producción.

Después, nos pedirá el certificado CSR que hemos creado en el paso uno, por lo tanto, simplemente tendremos que importarlo.

Por último, descargamos este certificado y crearemos un certificado conocido como “Provisional Profile” que es de tipo Development y que descargaremos también.

Notificaciones push en app. digitalDot

Paso Tres. Crear archivo PEM

Una vez hemos acabado con los “papeleos” de los certificados vamos a crear el archivo PEM. Para que resulte más sencillo utilizaremos los siguientes nombres de los certificados obtenidos:

aps_development.cer: certificado SSL de producción.

pushcert.p12: la clave privada.

Para este paso es necesario usar el terminal y situarnos en la carpeta con los certificados.

3.1

Abrir aps_development_cer en “Acceso a llaveros”

3.2

Exportar la clave privada y se guarda con una contraseña compleja que aparece dentro del certificado tal y como aparece en la siguiente imagen:

acceso key. digitalDot


3.3

Ejecutar el comando siguiente desde el terminal

>>openssl pkcs12 -in pushcert.p12 -out pushcert.pem -nodes -clcerts

Paso Cuatro. Conexión segura

Comprobamos que estamos conectados al servidor estableciendo una conexión segura.

> openssl s_client -connect gateway.push.apple.com:2195 -cert PushDevCert.pem -key PushDevKey.pem

Se introduce la contraseña de la clave privada.

Si todo ha salido lo bien que esperábamos devolverá el siguiente mensaje: Verify return code: 0 (ok)

Paso Cinco. Configuración

Ahora toca configurar las notificaciones en Xcode. Para ello iremos a la pestaña Capabilities del proyecto y una vez allí se habilitará “Push Notificaciones”.

En AppDelegate.swift se añade la siguiente funcionalidad en la cabecera y en la función didFinishLaunchingWithOptions

class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterDelegate{

func application(_ application: UIApplication, performFetchWithCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {

        completionHandler(UIBackgroundFetchResult.newData)   

    }

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

       let center = UNUserNotificationCenter.current()

        center.requestAuthorization(options:[.badge, .alert, .sound]) { (granted, error) in

        if granted == true{

               DispatchQueue.main.async {

                     UIApplication.shared.registerForRemoteNotifications()

                     UNUserNotificationCenter.current().delegate = self

             }

                   

       }

          }

          return true

}

Esta función obtiene un token único del dispositivo y que servirá al app para identificar dónde mandar la notificación.

func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {

        let deviceTokenString = deviceToken.reduce("", {$0 + String(format: "%02X", $1)})

    }   

Si surgiera algún problema con el token la siguiente función nos indicará qué ocurre:

func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {

        NSLog(error.localizedDescription)

    }

Paso sexto. APN en PHP

Descargamos la librería ApnsPHP.

En el archivo sample_push debemos modificar:

6.1. ENVIRONMENT_SANDBOX por ENVIRONMENT_PRODUCTION
6.2. El nombre del certificado PEM.
6.3. El token de nuestro dispositivo en la siguiente función

$message = new ApnsPHP_Message(‘tokenDevice’);

El archivo .pem se debe situar en la misma carpeta de la librería junto al archivo sample_push

Y ya lo tenemos todo hecho. Sencillo, ¿verdad?

Recordad que en digitalDot trabajamos a diario en el diseño, desarrollo y mantenimiento de aplicaciones móviles. Si queréis crear una para vuestro negocio o la que tenéis no funciona como querríais, podéis contactar con nuestro servicio de aplicaciones móviles en Murcia y nos encantará colaborar con vosotros.

Notificaciones en app iOS. digitalDot


También puede interesarte:

Noticias relacionadas sobre Aplicaciones Móviles

Cómo desarrollar aplicaciones móviles seguras desde el diseño

Cómo desarrollar aplicaciones móviles seguras desde el diseño

Hoy en día, las aplicaciones móviles y web son el canal principal de interacción con los usuarios, por lo que la seguridad no puede tratarse como una capa adicional. Hoy, desarrollar software seguro implica integrar la protección desde las primeras decisiones de diseño. En digitalDot trabajamos bajo un enfoque de…

Cómo ofuscar código en Android

Cómo Ofuscar código en Android

La ofuscación de código es una técnica importante para proteger tus aplicaciones móviles contra la ingeniería inversa y mejorar la seguridad de tu software. Desde digitalDot, te mostraremos cómo puedes ofuscar tu código en Android usando ProGuard y otras herramientas. Inicio del proceso de ofuscación A la hora de compilar…

Novedades sobre Android 14

Android 14: novedades para los desarrolladores de apps móviles

El lanzamiento de Android 14, originalmente programado para el martes 5 de septiembre de 2023, ha experimentado un aplazamiento hasta el próximo mes de octubre. Esta nueva fecha coincidirá con el evento de presentación del esperado Pixel 8, junto con el lanzamiento del flamante Pixel Watch 2, el reloj inteligente…

Estadísticas 2023 sobre aplicaciones móviles para tiendas online

Estadísticas 2023 sobre aplicaciones móviles para tiendas online

¿Estás pensando en tener una aplicación móvil para tu tienda online? ¿No lo has pensado todavía porque no te termina de convencer? El pasado miércoles 19 de julio, AppsFlyer publicó el informe “The State of eCommerce App Marketing”, un análisis profundo de las tendencias de la industria mundial para orientar…

¿Cómo crear una app de éxito?

¿Cómo crear un App de éxito?

Actualmente, miles de personas incorporan las aplicaciones móviles a sus rutinas por lo que, cada vez, están más integrados en nuestros hábitos diarios.Los investigadores MTM y Google han desarrollado un modelo para empresas, que les informa de cómo crear una “app exitosa”. Hablemos de ello. Poder integrar una App por…

Garantías para tiendas online y Apps

Garantías para tiendas online y APP de digitalDot

El 1 de enero del presente año (2022) entró en vigor una nueva normativa que afecta a la garantía legal de cualquier tipo de productos digitales, incluidas las garantías para tiendas online o aplicaciones móviles. digitalDot, como empresa de desarrollo de software debemos aplicar esta nueva normativa principalmente en algunas…

Desarrollo app Firebase - digitalDot

Acelera el desarrollo de tus apps con el marco de Firebase

Google nos trae nuevas características en su marco de desarrollo Firebase con lo que los desarrolladores podrán disminuir los tiempos de producción de sus aplicaciones. Firebase es una plataforma que fue creada por Google en 2014 para el desarrollo de aplicaciones web y móviles. Se encuentra integrada con Google Cloud…

Posicionamiento de aplicaciones móviles

¿Cómo posicionar una aplicación móvil?

Si estás leyendo este artículo es porque o tienes una app o estás a punto de tenerla y quieres saber cómo aparecer por encima del resto de aplicaciones móviles. En digitalDot, además de diseñar apps para Android y para iOS, os ayudamos a posicionarlas. En esta ocasión os vamos a…

Añadir Política de privacidad en la app Play Store

Cómo añadir la política de privacidad en nuestra App Play Store

Hace unos meses Google anunció una nueva normativa por la cual se obliga a incluir la política de privacidad a todas las aplicaciones a partir de abril de 2022. Este es un cambio ya hemos vivido como agencia de desarrollo web y software en el desarrollo de páginas, pero ahora…

1 2 3 6
crossmenuchevron-down