IBM Cloud Docs
Creación y envío de notificaciones push a Safari web mediante Event Notifications

Creación y envío de notificaciones push a Safari web mediante Event Notifications

Cree un servicio Event Notifications, añada un destino de envío para el servicio de notificación push de Apple (Safari) y envíe mensajes a dispositivos iOS.

¿Qué es Event Notifications?

Event Notifications es un servicio de enrutamiento de notificaciones de eventos que le notifica los eventos críticos que se producen en su cuenta IBM Cloud o desencadena acciones automatizadas mediante el uso de webhooks. Puede filtrar y enrutar notificaciones de eventos desde servicios IBM Cloud como Availability Monitoring, a correo electrónico, SMS, notificaciones push (FCM o APNs) y webhooks.

¿Cómo utilizan los clientes las notificaciones push de Safari?

El diagrama siguiente muestra cómo los clientes utilizan las notificaciones de envío push de iOS.

utilizan los clientes las
push*

Objetivos

Esta guía de aprendizaje muestra cómo enviar notificaciones de envío push de la siguiente manera:

  • Cree una aplicación web con Event Notifications.
  • Obtenga credenciales de Safari.
  • Descargue el código y complete la configuración de las notificaciones.
  • Configure y envíe notificaciones push de Safari a un Safari Web.

Antes de empezar

Debe tener los requisitos previos siguientes aplicados:

  • Una cuenta de IBM Cloud. Si no tiene una, cree una cuenta de IBM Cloud.
  • Una Event Notifications Instancia.
  • Una clave de API de IAM para permitir que el SDK acceda a su cuenta. Cree una aquí.

Crear una instancia de servicio de Event Notifications

  • Inicie sesión en su cuentaIBM Cloud.
  • En el catálogoIBM Cloud, busca ' Event Notifications > Event Notifications.
  • Seleccione un Region de la lista de regiones soportadas y seleccione un pricing plan.
  • Proporcione un Service name.
  • Seleccione un resource group.
  • Acepte los acuerdos de licencia y los términos pulsando el recuadro de selección.
  • Pulse Create.

Obtener credenciales de Safari

  • Añada el certificado intermedio de Apple Worldwide a su cadena de claves, puede encontrar el certificado aquí.

    Certificates, Apple Worldwide Intermediate certificate Site
    Certificates, Identifiers & Profiles

    Certificates, Apple Worldwide Intermediate certificate Add
    Certificates, Identifiers & Profiles

  • Crear Web Push ID en su cuenta de desarrollador de Apple.

    El ID de envío web (el identificador de paquete) es un identificador exclusivo que identifica una aplicación específica. Cada aplicación requiere un ID Web Push.

  • Vaya al portal para desarrolladores de Apple y seleccione " Certificates, Identifiers & Profiles.

    Certificados, Identificadores y
    , Identificadores y

  • Vaya a Identifiers > Add identifier button.

    ![Botón](images/en-apns-identifier-button.png "" caption-side="bottom"}"){: caption="

  • Haz clic en el botón ' Add a new Identifier '.

    Añadir nuevo botón
    nuevo
    Identificador*

  • Seleccione la opción de ID de envío web.

    ![Opción Web Push "){: caption="](images/en_safari_webpushid_option.png "Push " caption-side="bottom"} Web Push IDs*

  • Proporcione el identificador y la descripción para el ID de envío web, el identificador es una serie de dominio inverso exclusiva para el ID de envío web como, por ejemplo, web.com.example.domain (la serie debe empezar por web). Si su sitio web es yourwebsite.com añada el identificador como web.com.yourwebsite.

    Web Push
    Push

  • Continúe y haga clic en " Create certificate " en la página siguiente.

    ![](images/en_createcertificate_button.png "Crear certificadoBotón Crear " caption-side="bottom"}"){: caption="certificado

    Crear página de
    página
    certificado*

  • Cree una solicitud de firma de certificado utilizando KeyChain y guárdela en el disco. Para obtener más información, consulte aquí.

    Certificate Signing
    Create Certificate Signing

    Certificate Signing
    Create Certificate Signing

  • Cargue el CertificateSigningRequest.certSigningRequest y haga clic en Continuar.

    Signing Certificate Upload
    Upload Certificate Signing

    Certificate Download Page
    Upload Certificate Signing

  • Descargue el certificado con la extensión .cer y efectúe una doble pulsación en él. Lo añade a Acceso a llaveros → Mis certificados.

  • Accede a tu Llavero→ Mi Certificado, selecciona tu certificado y expórtalo.

    Exportar
    certificado de

    caption-side=bottom"
    Exportar certificado Añadir
    de certificado*

  • añada una contraseña (no la olvide) y guárdela como certificado p12.

Añadir un origen de API genérico

Siga estos pasos:

  • Vaya a la sección Sources del panel de control de Event Notifications.
  • Pulse Add y seleccione un origen de API.
  • Escriba un nombre y una descripción opcional y pulse Add.

Crear un destino de Event Notifications

Pulse Destinations en la consola de Event Notifications y añada los siguientes detalles de destino:

  • Name: añada un nombre para el destino.

  • Description: añada una descripción opcional para el destino.

  • Type: seleccione el tipo de notificaciones de envío de Safari en la lista desplegable.

  • Seleccione un plan de destino: Destino de preproducción o Destino de producción.

    • Pre-production destination-seleccione este destino como destino de envío de bajo coste, para los entornos de desarrollo y prueba.
    • Production destination-utilizar la capacidad completa de este destino. Dispositivos ilimitados y mensajes salientes permitidos.
  • Actualice las Credenciales Push de Safari con los detalles.

    • Website Name: El nombre del sitio web. Este es el encabezado que se utiliza en el Centro de notificaciones.
    • Website push ID: Serie de dominio inverso exclusiva para el ID de envío del sitio web, como por ejemplo web.com.example.domain (la serie debe empezar por web).
    • Website URL: URL del sitio web que debe tener permitido suscribirse a las notificaciones de envío de Safari.
    • URL format string: La URL a la que ir cuando se haga clic en la notificación. Utilice %@ como marcador de posición para los argumentos que complete al entregar la notificación. Esta URL debe utilizar el esquema http o https: de lo contrario, no será válida.
    • cargar certificado p12 y proporcionar certificado ' password.

Crear un tema Event Notifications

Seleccione Topics en la consola de Event Notifications y pulse Create. Especifique los siguientes detalles del tema:

  • Name: especifique un nombre para el tema.
  • Description: añada una descripción opcional para el tema.
  • Source: seleccione un origen de la lista desplegable.
  • Event type: seleccione el tipo de suceso en la lista desplegable.
  • Event sub type seleccione un subtipo de suceso en la lista desplegable de subtipos de sucesos.
  • Severity: seleccione la gravedad en la lista desplegable de gravedad.
  • Advanced conditions: escriba sus propias condiciones personalizadas, que deben seguir las especificaciones de jsonpath.

Crear una suscripción de Event Notifications

Pulse Subscriptions en la consola de Event Notifications. Especifique los siguientes detalles la suscripción:

  • Pulse Click para visualizar el asistente de suscripción.

  • Complete los siguientes detalles de suscripción:

    • Subscription name: nombre de la suscripción.
    • Subscription description: añada una descripción opcional.
  • En la sección Subscribe to a topic, seleccione un tema en la lista desplegable y seleccione un destino en la lista desplegable de destino.

  • Destination type: seleccione el tipo en Destination y pulse Add.

Configurar Event Notifications SDK web de Safari

El SDK web de Safari permite a los sitios web de Safari recibir notificaciones push. Siga los pasos siguientes para instalar el SDK web de Event Notifications Firefox, inicializar el SDK y registrarse para las notificaciones de su sitio web.

  • Para incluir el SDK en su proyecto, añada los archivos ' ENPushSDK.js' , ' ENPushServiceWorker.js, y ' manifest_Website.json a la carpeta raíz de su proyecto.

  • Edite el archivo manifest_Website.json.

    {
       "name": "YOUR_WEBSITE_NAME"
    }
    
  • Cambie el nombre del archivo manifest_Website.json a manifest.json.

  • Incluye el ' manifest.json ' en la etiqueta ' <head> ' de tu archivo html.

    <link rel="manifest" href="https://github.com/IBM/event-notifications-destination-webpush-sdk/blob/main/manifest_Website.json">
    
  • Incluye IBM Cloud web push SDK al script.

    <script src="https://github.com/IBM/event-notifications-destination-webpush-sdk/blob/main/ENPushSDK.js" async></script>
    
  • Siga los pasos siguientes para habilitar el sitio web para inicializar el SDK

    var enPush = new ENPush()
    
    function callback(response) {
       alert(response.response)
    }
    
    var initParams = {
       "instanceGUID": "<instance_guid>",
       "apikey": "<instance_apikey>",
       "region": "<region>",
       "deviceId": "<YOUR_DEVICE_ID>",
       "safariDestinationId": "<safari_destination_id>",
       "websitePushIdSafari": "<Safari Web Push Id Identifier>"
    }
    
    enPush.initialize(initParams, callback)
    
    • region: Región de la instancia de Event Notifications. por ejemplo, us-south,eu-gb, au-syd, eu-de y eu-es.

    • deviceId: deviceId opcional para el registro de dispositivos.

  • Para registrarse para recibir notificaciones, utilice la API " register() o " registerWithUserId() " para registrar el dispositivo en el servicio IBM Cloud {{site {{site.data.keyword.en_short}}. Seleccione una de las opciones siguientes:

    • Registrarse sin UserId:

      enPush.register(function(response) {
         alert(response.response)
      })
      
    • Registrarse con ' UserId. Para las notificaciones basadas en " userId ", el método de registro acepta un parámetro más: " userId.

    bmsPush.registerWithUserId("UserId",function(response) {
      alert(response.response)
    })
    

    UserId es el valor de identificador de usuario con el que desea registrar dispositivos en la instancia de servicio de envío.

  • La API de subscribe suscribe el dispositivo para una etiqueta. Después de que el dispositivo esté suscrito a una etiqueta determinada, el dispositivo puede recibir notificaciones que se envían para dicho código. Añada el siguiente fragmento de código a la aplicación web para suscribirse a una lista de etiquetas.

    enPush.subscribe(tagName, function(response) {
      alert(response.response)
    })
    
  • Cuando la configuración se haya completado, ejecute la aplicación y regístrese para notificaciones push.

Enviar notificaciones al dispositivo web de Safari

Utilice API de notificación de envío para enviar la notificación push para el dispositivo Firefox. Puede utilizar el SDK de administración de Nodo o Go en lugar de llamar directamente a la API.

caption-side=bottom"
Recibir