Creación y envío de notificaciones push

Obtenga información sobre cómo crear notificaciones push para aplicaciones móviles con el SDK móvil de Experience Platform y Journey Optimizer.

Journey Optimizer le permite crear recorridos y enviar mensajes a audiencias de destino. Antes de enviar notificaciones push con Journey Optimizer, debe asegurarse de que las configuraciones e integraciones adecuadas estén implementadas. Para comprender el flujo de datos de notificaciones push en Journey Optimizer, consulte la documentación.

Arquitectura

NOTE
Esta lección es opcional y solo se aplica a los usuarios de Journey Optimizer que buscan enviar notificaciones push.

Requisitos previos

  • La aplicación se ha creado y ejecutado correctamente con los SDK instalados y configurados.

  • Configure la aplicación para Adobe Experience Platform.

  • Acceso a Journey Optimizer y permisos suficientes, tal como se describe aquí. Además, necesita permisos suficientes para las siguientes funciones de Journey Optimizer.

    • Cree una superficie de aplicación.
    • Cree un recorrido.
    • Cree un mensaje.
    • Cree ajustes preestablecidos de mensaje.
  • Cuenta de desarrollador de Apple de pago con acceso suficiente para crear certificados, identificadores y claves.

  • Dispositivo o simulador físico de iOS para realizar pruebas.

Objetivos de aprendizaje

En esta lección, debe

  • Registre el ID de la aplicación con el servicio de notificaciones push de Apple (APNS).
  • Crear una superficie de aplicación en Journey Optimizer.
  • Actualice el esquema para incluir los campos de mensajería push.
  • Instale y configure la extensión de etiquetas de Journey Optimizer.
  • Actualice la aplicación para registrar la extensión de etiqueta de Journey Optimizer.
  • Valide la configuración en Assurance.
  • Enviar un mensaje de prueba desde Assurance
  • Defina su propio evento, recorrido y experiencia de notificaciones push en Journey Optimizer.
  • Envíe su propia notificación push desde la aplicación.

Configuración

TIP
Si ya ha configurado su entorno como parte de la Mensajería en la aplicación de Journey Optimizer En esta lección, es posible que ya haya realizado algunos de los pasos de esta sección de configuración.

Registro del ID de la aplicación con APNS

Los siguientes pasos no son específicos de Adobe Experience Cloud y están diseñados para guiarle a través de la configuración de APNS.

Crear una clave privada

  1. En el portal para desarrolladores de Apple, vaya a Claves.

  2. Para crear una clave, seleccione +.
    crear clave nueva

  3. Proporcione un Nombre de clave.

  4. Seleccione el Servicio de notificaciones push de Apple (APN) casilla de verificación

  5. Seleccionar Continuar.
    configurar nueva clave

  6. Revise la configuración y seleccione Registrar.

  7. Descargue la .p8 clave privada. Se utiliza en la configuración de la superficie de la aplicación más adelante en esta lección.

  8. Tome nota de la ID de clave. Se utiliza en la configuración de la superficie de la aplicación.

  9. Tome nota de la Identificador de equipo. Se utiliza en la configuración de la superficie de la aplicación.
    Detalles clave

Puede obtenerse documentación adicional encontrado aquí.

Añadir una superficie de aplicación en la recopilación de datos

  1. Desde el Interfaz de recopilación de datos, seleccione Superficies de aplicación en el panel izquierdo.

  2. Para crear una configuración, seleccione Crear superficie de aplicación.
    inicio de superficie de aplicación

  3. Introduzca una Nombre para la configuración, por ejemplo Luma App Tutorial .

  4. Desde Configuración de aplicaciones móviles, seleccione Apple iOS.

  5. Introduzca el ID del paquete de la aplicación móvil en ID de aplicación (ID de paquete de iOS) field. Por ejemplo, com.adobe.luma.tutorial.swiftui.

  6. Encienda el Credenciales push alterne para añadir sus credenciales.

  7. Arrastre y suelte su .p8 Clave de autenticación de notificación push de Apple archivo.

  8. Proporcione el ID de clave, una cadena de 10 caracteres asignada durante la creación de p8 clave de autenticación. Se encuentra en la sección Claves en la pestaña Certificados, identificadores y perfiles de las páginas del portal para desarrolladores de Apple. Consulte también Crear una clave privada.

  9. Proporcione el Identificador de equipo. El identificador de equipo es un valor que se encuentra en Suscripción o en la parte superior de la página de Apple Developer portal. Consulte también Crear una clave privada.

  10. Seleccione Guardar.

    configuración de superficie de aplicación

Actualizar configuración de secuencia de datos

Para garantizar que los datos enviados desde su aplicación móvil a Edge Network se reenvíen a Journey Optimizer, actualice la configuración de Experience Edge

  1. En la IU de recopilación de datos, seleccione Datastreams y seleccione la secuencia de datos, por ejemplo Luma Mobile App.

  2. Seleccionar Más para Experience Platform y seleccione Editar Editar en el menú contextual.

  3. En el Datastreams > Carpeta > Adobe Experience Platform pantalla:

    1. Si no está seleccionada, seleccione Conjunto de datos del perfil push AJO de Conjunto de datos de perfil. Este conjunto de datos de perfil es necesario al utilizar MobileCore.setPushIdentifier Llamada de API (consulte Registrar token de dispositivo para notificaciones push), que garantiza que el identificador único de las notificaciones push (también conocido como identificador push) se almacene como parte del perfil del usuario.

    2. Adobe Journey Optimizer está seleccionado. Consulte Configuración de Adobe Experience Platform para obtener más información.

    3. Para guardar la configuración de la secuencia de datos, seleccione Guardar.

    Configuración de flujo de datos AEP

Instalación de la extensión Journey Optimizer tags

Para que la aplicación funcione con Journey Optimizer, debe actualizar la propiedad de etiquetas.

  1. Vaya a Etiquetas > Extensiones > Catálogo,

  2. Abra la propiedad, por ejemplo Luma Mobile App Tutorial.

  3. Seleccionar Catálogo.

  4. Busque la variable Adobe Journey Optimizer extensión.

  5. Instale la extensión de.

  6. En el Instalar extensión diálogo

    1. Seleccione un entorno, por ejemplo Desarrollo.

    2. Seleccione el Conjunto de datos de evento de experiencia de seguimiento push AJO conjunto de datos del Conjunto de datos de evento lista.

    3. Seleccionar Guardar en biblioteca y crear.

      Configuración de extensión de AJO

NOTE
Si no lo ve… Conjunto de datos de evento de experiencia de seguimiento push AJO como opción, póngase en contacto con el servicio de atención al cliente.

Validar la configuración con Assurance

  1. Revise la instrucciones de configuración para conectar el simulador o dispositivo a Assurance.

  2. En la IU de Assurance, seleccione Configurar.
    configurar clic

  3. Seleccionar Plus junto a Depuración push.

  4. Seleccione Guardar.
    guardar

  5. Seleccionar Depuración push en el panel de navegación izquierdo.

  6. Seleccione el Validar configuración pestaña.

  7. Seleccione el dispositivo en la Cliente lista.

  8. Confirme que no está recibiendo ningún error.
    validate

  9. Seleccione el Enviar inserción de prueba pestaña.

  10. (opcional) Cambie los detalles predeterminados de Título y Cuerpo

  11. Seleccionar Error Enviar notificación push de prueba.

  12. Compruebe la Resultados de prueba.

  13. Debería ver la notificación push de prueba en la aplicación.

    {width="300"}

Firmar

La firma de la aplicación de Luma es necesaria para enviar notificaciones push y requiere una cuenta de desarrollador de Apple de pago.

Para actualizar la firma de la aplicación:

  1. Vaya a la aplicación en Xcode.

  2. Seleccionar Luma en el navegador del proyecto.

  3. Seleccione el Luma objetivo.

  4. Seleccione el Firma y capacidades pestaña.

  5. Configurar Administrar firma automáticamente, Equipo, y Identificador de paquete o use los detalles específicos de aprovisionamiento de desarrollo de Apple.

    note important
    IMPORTANT
    Asegúrese de utilizar un único identificador de paquete y reemplace el com.adobe.luma.tutorial.swiftui identificador de paquete, ya que cada identificador de paquete debe ser único. Normalmente, se utiliza un formato DNS inverso para cadenas de ID de paquete, como com.organization.brand.uniqueidentifier. La versión final de este tutorial, por ejemplo, utiliza com.adobe.luma.tutorial.swiftui.

    Funcionalidades de firma de Xcode {modal="regular"}

Añadir funciones de notificaciones push a la aplicación

IMPORTANT
Para implementar y probar las notificaciones push en una aplicación de iOS, debe tener un pagado Cuenta de desarrollador de Apple. Si no tiene una cuenta de desarrollador de Apple de pago, puede omitir el resto de esta lección.
  1. En Xcode, seleccione Luma desde el OBJETIVOS , seleccione la Firma y capacidades , seleccione la pestaña + Funcionalidad botón, luego seleccione Notificaciones push. Esto permite que la aplicación reciba notificaciones push.

  2. A continuación, debe añadir una extensión de notificación a la aplicación. Vuelva a la General y seleccione la pestaña + en la parte inferior de la OBJETIVOS sección.

  3. Se le pedirá que seleccione la plantilla para el nuevo destino. Seleccionar Extensión de servicio de notificaciones luego seleccione Siguiente.

  4. En la siguiente ventana, utilice NotificationExtension como el nombre de la extensión y haga clic en el Finalizar botón.

Ahora debería tener una extensión de notificación push agregada a la aplicación, similar a la pantalla siguiente.

Extensión de notificaciones push

Implementar Journey Optimizer en la aplicación

Como se ha explicado en lecciones anteriores, la instalación de una extensión de etiqueta móvil solo proporciona la configuración. A continuación, debe instalar y registrar el SDK de mensajería. Si estos pasos no están claros, revise la Instalación de SDK sección.

NOTE
Si ha completado la Instalación de SDK , el SDK ya está instalado y puede omitir este paso.
  1. En Xcode, asegúrese de que Mensajería AEP se añade a la lista de paquetes en Dependencias del paquete. Consulte Administrador De Paquetes Swift.

  2. Vaya a Luma > Luma > AppDelegate en el navegador del proyecto Xcode.

  3. Asegurar AEPMessaging forma parte de su lista de importaciones.

    import AEPMessaging

  4. Asegurar Messaging.self forma parte de la matriz de extensiones que está registrando.

    code language-swift
    let extensions = [
        AEPIdentity.Identity.self,
        Lifecycle.self,
        Signal.self,
        Edge.self,
        AEPEdgeIdentity.Identity.self,
        Consent.self,
        UserProfile.self,
        Places.self,
        Messaging.self,
        Optimize.self,
        Assurance.self
    ]
    

Registrar token de dispositivo para notificaciones push

  1. Añada el MobileCore.setPushIdentifier API para func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) función.

    code language-swift
    // Send push token to Mobile SDK
    MobileCore.setPushIdentifier(deviceToken)
    

    Esta función recupera el token del dispositivo exclusivo del dispositivo en el que está instalada la aplicación. A continuación, establece el token para la entrega de notificaciones push mediante la configuración que ha configurado y que depende del servicio de notificaciones push de Apple (APN).

IMPORTANT
El MobileCore.updateConfigurationWith(configDict: ["messaging.useSandbox": true]) determina si las notificaciones push utilizan una zona protegida de APNS o un servidor de producción para enviar notificaciones push. Al probar la aplicación en el simulador o en un dispositivo, asegúrese de que messaging.useSandbox se establece en true por lo tanto, recibe notificaciones push. Al implementar la aplicación en producción para probarla con Testflight de Apple, asegúrese de definir lo siguiente messaging.useSandbox hasta false de lo contrario, la aplicación de producción no podrá recibir notificaciones push.

Cree su propia notificación push

Para crear su propia notificación push, debe definir un evento en Journey Optimizer que almacene en déclencheur un recorrido que se encargue de enviar una notificación push.

Actualizar el esquema

Va a definir un nuevo tipo de evento, que aún no está disponible, como parte de la lista de eventos definidos en el esquema. Este tipo de evento se utiliza más adelante al activar las notificaciones push.

  1. En la IU de Journey Optimizer, seleccione Esquemas desde el carril izquierdo.

  2. Seleccionar Examinar en la barra de pestañas.

  3. Seleccione el esquema, por ejemplo Luma Mobile App Event Schema para abrirlo.

  4. En el Editor de esquemas:

    1. Seleccione el eventType field.

    2. En el Propiedades del campo , desplácese hacia abajo para ver la lista de valores posibles para el tipo de evento. Seleccionar Añadir fila y agregue. application.test como el VALOR y Test event for push notification como el DISPLAY NAME.

    3. Seleccione Aplicar.

    4. Seleccione Guardar.

      Añadir valor a los tipos de eventos

Definición de un evento

Los eventos de Journey Optimizer le permiten almacenar en déclencheur sus recorridos de forma unitaria para enviar mensajes como, por ejemplo, notificaciones push. Consulte Acerca de los eventos para obtener más información.

  1. En la IU de Journey Optimizer, seleccione Configuraciones desde el carril izquierdo.

  2. En el Tablero , seleccione la Administrar botón en el Eventos mosaico.

  3. En el Eventos pantalla, seleccione Crear evento.

  4. En el Editar evento1 panel:

    1. Entrar LumaTestEvent como el Nombre del evento.

    2. Proporcione un Descripción, por ejemplo Test event to trigger push notifications in Luma app.

    3. Seleccione el esquema del evento de experiencia de la aplicación móvil creado anteriormente en Creación de un esquema XDM desde el Esquema , por ejemplo Luma Mobile App Event Schema v.1.

    4. Seleccionar Editar junto al Campos lista.

      Editar paso de evento 1

      En el Campos , asegúrese de que los siguientes campos están seleccionados (sobre los campos predeterminados que siempre están seleccionados (_id, id, y timestamp)). Mediante la lista desplegable, puede alternar entre Seleccionado, Todo y Principal o use el Buscar field.

      • Aplicación identificada (id),
      • Tipo de evento (eventType),
      • Principal (principal).

      Editar campos de evento

      A continuación seleccione Ok.

    5. Seleccionar Editar junto al Condición de ID de evento field.

      1. En el Añadir una condición de ID de evento diálogo, arrastrar y soltar Tipo de evento (eventType) en a Arrastre y suelte un elemento aquí.

      2. En la ventana emergente, desplácese hasta la parte inferior y seleccione application.test (que es el tipo de evento que agregó anteriormente a la lista de tipos de eventos como parte de Actualizar el esquema). A continuación, desplácese hacia arriba y seleccione Ok.

      3. Seleccionar Ok para guardar la condición.

        Editar condición de evento

    6. Seleccionar ECID (ECID) desde el Área de nombres lista. Automáticamente el Identificador de perfil el campo se rellena con El ID del primer elemento del ECID de clave para el identityMap de mapa.

    7. Seleccione Guardar.

      Editar paso de evento 2

Acaba de crear una configuración de evento basada en el esquema de eventos de experiencia de la aplicación móvil creado anteriormente como parte de este tutorial. Esta configuración de evento filtrará los eventos de experiencia entrantes mediante el tipo de evento específico (application.test), de modo que solo los eventos con ese tipo específico, iniciados desde la aplicación móvil, almacenarán en déclencheur el recorrido que genere en el siguiente paso. En una situación real, es posible que desee enviar notificaciones push desde un servicio externo; sin embargo, se aplican los mismos conceptos: desde la aplicación externa, envíe un evento de experiencia al Experience Platform que tenga campos específicos que pueda utilizar para aplicar condiciones antes de que estos eventos entren en déclencheur con un recorrido.

Creación del recorrido

El siguiente paso es crear el recorrido que almacene en déclencheur el envío de la notificación push al recibir el evento correspondiente.

  1. En la IU de Journey Optimizer, seleccione Recorridos desde el carril izquierdo.

  2. Seleccionar Crear Recorrido.

  3. En el Propiedades de recorrido panel:

    1. Introduzca una Nombre para el recorrido, por ejemplo Luma - Test Push Notification Journey.

    2. Introduzca una Descripción para el recorrido, por ejemplo Journey for test push notifications in Luma mobile app.

    3. Asegurar Permitir la reentrada está seleccionado y configurado Período de espera de reentrada hasta 30 Seconds.

    4. Seleccionar Ok.

      Propiedades del recorrido

  4. De vuelta en el lienzo de recorrido, de la EVENTOS, arrastre y suelte su Evento LumaTestEvent en el lienzo donde se muestra Seleccione un evento de entrada o una actividad de audiencia de lectura.

    • En el Eventos: LumaTestEvent , introduzca un Etiqueta, por ejemplo Luma Test Event.
  5. Desde el ACCIONES desplegable, arrastrar y soltar Push Push en el Añadir a la derecha de su LumaTestEvent actividad. En el Acciones: push panel:

    1. Proporcione un Etiqueta, por ejemplo Luma Test Push Notification, proporcione un Descripción, por ejemplo Test push notification for Luma mobile app, seleccione Transaccional desde el Categoría lista y seleccione Luma desde el Superficie de inserción.

    2. Seleccionar Editar Editar contenido para empezar a editar la notificación push real.

      Propiedades push

      En el Notificación push editor:

      1. Introduzca una Título, por ejemplo Luma Test Push Notification e introduzca un Cuerpo, por ejemplo Test push notification for Luma mobile app.

      2. Opcionalmente, puede introducir un vínculo a una imagen (.png o .jpg) en Añadir medios. Si lo hace, la imagen formará parte de la notificación push.

      3. Para guardar y salir del editor, seleccione Corchete izquierdo .

        Editor push

    3. Para guardar y finalizar la definición de la notificación push, seleccione Ok.

  6. El recorrido debe ser similar al siguiente. Seleccionar Publish para publicar y activar el recorrido.
    Recorrido finalizado

Déclencheur de la notificación push

Tiene todos los ingredientes para enviar una notificación push. Lo que queda es cómo almacenar en déclencheur esta notificación push. En esencia, es lo mismo que ha visto antes: simplemente envíe un evento de experiencia con la carga útil adecuada (como en el Eventos).

Esta vez, el evento de experiencia que está a punto de enviar no se construye construyendo un diccionario XDM simple. Va a utilizar un struct que representa una carga útil de notificación push. La definición de un tipo de datos dedicado es una forma alternativa de implementar la construcción de cargas útiles de evento de experiencia en la aplicación.

  1. Vaya a Luma > Luma > Modelo > XDM > TestPushPayload en el navegador del proyecto Xcode e inspeccione el código.

    code language-swift
    import Foundation
    
    // MARK: - TestPush
    struct TestPushPayload: Codable {
       let application: Application
       let eventType: String
    }
    
    // MARK: - Application
    struct Application: Codable {
       let id: String
    }
    

    El código es una representación de la siguiente carga útil simple que va a enviar al déclencheur de su recorrido de notificaciones push de prueba

    code language-json
    {
       "eventType": string,
       "application" : [
           "id": string
       ]
    }
    
  2. Vaya a Luma > Luma > Utils > MobileSDK en el navegador del proyecto Xcode y añada el siguiente código a func sendTestPushEvent(applicationId: String, eventType: String):

    code language-swift
    // Create payload and send experience event
    Task {
        let testPushPayload = TestPushPayload(
            application: Application(
                id: applicationId
            ),
            eventType: eventType
        )
        // send the final experience event
        await sendExperienceEvent(
            xdm: testPushPayload.asDictionary() ?? [:]
        )
    }
    

    Este código crea un testPushPayload usando los parámetros proporcionados a la función (applicationId y eventType) y luego llama a sendExperienceEvent al convertir la carga útil en un diccionario. Este código, esta vez, también tiene en cuenta los aspectos asíncronos de llamar al SDK de Adobe Experience Platform mediante el modelo de concurrencia de Swift basado en await y async.

  3. Vaya a Luma > Luma > Views > General > ConfigView en el navegador del proyecto Xcode. En la definición del botón de notificación push, añada el siguiente código para enviar la carga útil del evento de experiencia de notificación push de prueba al déclencheur del recorrido cada vez que se pulse ese botón.

    code language-swift
    // Setting parameters and calling function to send push notification
    Task {
        let eventType = testPushEventType
        let applicationId = Bundle.main.bundleIdentifier ?? "No bundle id found"
        await MobileSDK.shared.sendTestPushEvent(applicationId: applicationId, eventType: eventType)
    }
    

Validar con la aplicación

  1. Vuelva a compilar y ejecute la aplicación en el simulador o en un dispositivo físico desde Xcode mediante Reproducir .

  2. Vaya a la Configuración pestaña.

  3. Tocar Notificación push. Verá aparecer la notificación push en la aplicación.

    {width="300"}

Pasos siguientes

Ahora debe tener todas las herramientas para gestionar las notificaciones push en la aplicación. Por ejemplo, puede crear un recorrido en Journey Optimizer que envíe una notificación push de bienvenida cuando un usuario de la aplicación inicie sesión. O una notificación push de confirmación cuando un usuario compra un producto en la aplicación. O bien, introduce la geovalla de una ubicación (como verá en el Places lección).

SUCCESS
Ahora ha habilitado la aplicación para notificaciones push mediante Journey Optimizer y la extensión de Journey Optimizer para el SDK de Experience Platform Mobile.
Gracias por dedicar su tiempo a conocer el SDK móvil de Adobe Experience Platform. Si tiene preguntas, desea compartir comentarios generales o tiene sugerencias sobre contenido futuro, compártalas en este Entrada de discusión de la comunidad Experience League.

Siguiente: Creación y envío de mensajes en la aplicación

recommendation-more-help
9fed61f5-c338-47ad-8005-0b89a5f4af8b