Ir al contenido

Notificaciones push enriquecidas

Aprende a configurar notificaciones push enriquecidas para el SDK de Braze.

Requisitos previos

Antes de poder utilizar esta característica, tendrás que integrar el SDK Swift de Braze. También tendrás que configurar las notificaciones push.

Configuración de notificaciones push enriquecidas

Paso 1: Crear una extensión de servicio

Para crear una extensión del servicio de notificación, ve a File > New > Target en Xcode y selecciona Notification Service Extension.

Selector de destinos de Xcode con la opción para crear una Notification Service Extension para notificaciones push enriquecidas.

Asegúrate de que Embed In Application esté configurado para insertar la extensión en tu aplicación.

Paso 2: Configurar la extensión del servicio de notificación

Una extensión del servicio de notificación es un binario independiente que se incluye en el paquete de tu aplicación. Debe configurarse en el Apple Developer Portal con su propio ID de aplicación y perfil de aprovisionamiento.

El ID de paquete de la extensión del servicio de notificación debe ser distinto del ID de paquete del destino principal de tu aplicación. Por ejemplo, si el ID de paquete de tu aplicación es com.company.appname, puedes usar com.company.appname.AppNameServiceExtension para tu extensión de servicio.

Paso 3: Añadir un grupo de aplicaciones

En Xcode, añade la capacidad App Groups desde el panel Signing & Capabilities tanto al destino principal de tu aplicación como al destino de la Notification Service Extension. Luego, haz clic en el botón +. Usa el ID de paquete de tu aplicación para crear el grupo de aplicaciones. Por ejemplo, si el ID de paquete de tu aplicación es com.company.appname, puedes llamar a tu grupo de aplicaciones group.com.company.appname.xyz.

Necesitas un grupo de aplicaciones compartido para que tu aplicación principal y la Notification Service Extension puedan acceder a datos compartidos. Si no añades tu aplicación a un grupo de aplicaciones, es posible que tu aplicación no pueda rellenar ciertos campos de la carga útil push y no funcione completamente como se espera.

Paso 4: Integrar las notificaciones push enriquecidas

Para ver una guía paso a paso sobre cómo integrar las notificaciones push enriquecidas con BrazeNotificationService, consulta nuestro tutorial.

Para ver un ejemplo, consulta el uso en NotificationService de nuestra aplicación Examples.

Añadir el framework de notificaciones push enriquecidas a tu aplicación

Después de seguir la guía de integración de Swift Package Manager, añade BrazeNotificationService a tu Notification Service Extension haciendo lo siguiente:

  1. En Xcode, en frameworks y bibliotecas, selecciona el icono de añadir para añadir un framework.

    El icono de más se encuentra en frameworks y bibliotecas en Xcode.

  2. Selecciona el framework “BrazeNotificationService”.

    El framework BrazeNotificationService se puede seleccionar en el modal que se abre.

Añade lo siguiente a tu archivo de bibliotecas:

target 'YourAppTarget' do
  pod 'BrazeKit'
  pod 'BrazeUI'
  pod 'BrazeLocation'
end

target 'YourNotificationServiceExtensionTarget' do
  pod 'BrazeNotificationService'
end

# Only include the below if you want to also integrate Push Stories
target 'YourNotificationContentExtensionTarget' do
  pod 'BrazePushStory'
end

Después de actualizar el archivo de bibliotecas, ve al directorio del proyecto de tu aplicación de Xcode en tu terminal y ejecuta pod install.

Para añadir BrazeNotificationService.xcframework a tu Notification Service Extension, consulta Integración manual.

Proyecto de Xcode con BrazeNotificationService.xcframework añadido a la extensión del servicio de notificación.

Solución de problemas en proyectos de Xcode generados

Si generas tu proyecto de Xcode con herramientas de compilación como Tuist, confirma que tu proyecto generado mantiene BrazeNotificationService vinculado al destino de tu Notification Service Extension y conserva sus recursos en el paquete de la extensión. Algunas estructuras de proyectos generados pueden colocar los recursos en paquetes inesperados, lo que puede hacer que los activos de las notificaciones push enriquecidas no se carguen en tiempo de ejecución.

Consulta los siguientes recursos para obtener ayuda:

Usar tu propia UNNotificationServiceExtension

Si necesitas usar tu propia UNNotificationServiceExtension, puedes llamar a brazeHandle en tu método didReceive.

import BrazeNotificationService
import UserNotifications

class NotificationService: UNNotificationServiceExtension {

  override func didReceive(
    _ request: UNNotificationRequest,
    withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void
  ) {
    if brazeHandle(request: request, contentHandler: contentHandler) {
      return
    }

    // Custom handling here

    contentHandler(request.content)
  }
}

Paso 5: Configurar el grupo de aplicaciones en Braze

Antes de inicializar Braze, asigna el nombre de tu grupo de aplicaciones a la propiedad push.appGroup de tu configuración de Braze.

let configuration = Braze.Configuration(apiKey: "<YOUR-BRAZE-API-KEY>",
                                        endpoint: "<YOUR-BRAZE-ENDPOINT>")
configuration.push.appGroup = "REPLACE_WITH_APPGROUP"
let braze = Braze(configuration: configuration)

Paso 6: Crear una notificación enriquecida en tu panel

Tu equipo de marketing también puede crear notificaciones enriquecidas desde el panel. Crea una notificación push con el creador de push y adjunta una imagen o un GIF, o proporciona una URL que aloje una imagen, un GIF o un video. Ten en cuenta que los activos se descargan al recibir las notificaciones push, así que debes prever picos grandes y sincrónicos de solicitudes si alojas tu propio contenido.

Requisitos previos

Antes de poder utilizar esta característica, tendrás que integrar el SDK de Braze para Cordova. También tendrás que configurar las notificaciones push.

Configuración de notificaciones push enriquecidas

Paso 1: Crear una extensión del servicio de notificación

En tu proyecto de Xcode, crea una extensión del servicio de notificación. Para un tutorial completo, consulta el tutorial de notificaciones push enriquecidas en iOS.

Paso 2: Añadir un nuevo destino

Abre tu archivo de bibliotecas y añade BrazeNotificationService al destino de la extensión del servicio de notificación que acabas de crear. Si BrazeNotificationService ya está añadido a un destino, elimínalo antes de continuar. Para evitar errores de símbolos duplicados, utiliza la vinculación estática.

target 'NOTIFICATION_SERVICE_EXTENSION' do
  use_frameworks! :linkage => :static
  pod 'BrazeNotificationService'
end

Sustituye NOTIFICATION_SERVICE_EXTENSION por el nombre de tu extensión del servicio de notificación. Tu archivo de bibliotecas debería ser similar al siguiente:

target 'MyAppRichNotificationService' do
  use_frameworks! :linkage => :static
  pod 'BrazeNotificationService'
end

Paso 3: Reinstalar las dependencias de CocoaPods

En la terminal, ve al directorio iOS de tu proyecto y reinstala las dependencias de CocoaPods.

cd PATH_TO_PROJECT/platform/ios
pod install

Requisitos previos

Antes de poder utilizar esta característica, tendrás que integrar el SDK de React Native de Braze. También tendrás que configurar las notificaciones push.

Uso de Expo para habilitar notificaciones push enriquecidas

Para el SDK de React Native, las notificaciones push enriquecidas están disponibles para Android de forma predeterminada.

Para habilitar las notificaciones push enriquecidas en iOS usando Expo, configura la propiedad enableBrazeIosRichPush a true en tu objeto expo.plugins en app.json:

{
  "expo": {
    "plugins": [
      [
        "@braze/expo-plugin",
        {
          ...
          "enableBrazeIosRichPush": true
        }
      ]
    ]
  }
}

Por último, añade el identificador de paquete para esta extensión de aplicación a la configuración de credenciales de tu proyecto: <your-app-bundle-id>.BrazeExpoRichPush. Para más detalles sobre este proceso, consulta Uso de extensiones de aplicación con Expo Application Services.

New Stuff!