Ir al contenido

Historias push

Aprende a configurar historias push 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, lo que incluye implementar el framework UNNotification.

Se requiere la siguiente versión mínima del SDK para recibir historias push:

Configuración de historias push

Paso 1: Agregar el objetivo de la extensión de contenido de notificación

En el proyecto de tu aplicación, ve al menú File > New > Target y agrega un nuevo objetivo Notification Content Extension y actívalo.

Selector de objetivos de Xcode creando una extensión de contenido de notificación para historias push.

Xcode debería generar un nuevo objetivo y crear archivos automáticamente para ti, incluyendo:

  • NotificationViewController.swift
  • MainInterface.storyboard

Paso 2: Habilitar capacidades

En Xcode, agrega la capacidad Background Modes usando el panel Signing & Capabilities al objetivo principal de la aplicación. Selecciona las casillas de verificación Background fetch y Remote notifications.

Panel de capacidades de Xcode mostrando los modos de fondo habilitados con las opciones Background fetch y Remote notifications seleccionadas.

Agregar un grupo de aplicaciones

Además, desde el panel Signing & Capabilities en Xcode, agrega la capacidad App Groups tanto al objetivo principal de tu aplicación como a los objetivos de la extensión de contenido de notificación. 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 nombrar tu grupo de aplicaciones group.com.company.appname.xyz.

Si no agregas tu aplicación a un grupo de aplicaciones, es posible que tu aplicación no logre completar ciertos campos de la carga útil del push y no funcionará completamente como se espera.

Paso 3: Agregar el framework de historias push a tu aplicación

Después de seguir la guía de integración de Swift Package Manager, agrega BrazePushStory a tu Notification Content Extension:

En Xcode, bajo frameworks y bibliotecas, selecciona el icono "+" para agregar un framework.

Selección de producto de paquete de Xcode agregando BrazePushStory al objetivo de la extensión de contenido de notificación.

Agrega la siguiente línea a tu archivo de bibliotecas:

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

target 'YourNotificationContentExtensionTarget' do
pod 'BrazePushStory'
end

# Only include the below if you want to also integrate Rich Push
target 'YourNotificationServiceExtensionTarget' do
pod 'BrazeNotificationService'
end

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

Descarga el último BrazePushStory.zip de la página de lanzamientos de GitHub, extráelo y agrega BrazePushStory.xcframework a la Notification Content Extension de tu proyecto.

Configuración de frameworks de Xcode mostrando BrazePushStory.xcframework agregado con la opción Do Not Embed seleccionada.

Paso 4: Actualizar tu controlador de vista de notificación

En NotificationViewController.swift, agrega la siguiente línea para importar los archivos de encabezado:

import BrazePushStory

A continuación, reemplaza la implementación predeterminada heredando BrazePushStory.NotificationViewController:

class NotificationViewController: BrazePushStory.NotificationViewController {}

Manejo personalizado de eventos de historias push

Si deseas implementar tu propia lógica personalizada para manejar los eventos de notificación de historias push, hereda BrazePushStory.NotificationViewController como se muestra en el ejemplo anterior y sobrescribe los métodos didReceive del siguiente ejemplo.

import BrazePushStory
import UserNotifications
import UserNotificationsUI

class NotificationViewController: BrazePushStory.NotificationViewController {
  override func didReceive(_ notification: UNNotification) {
    super.didReceive(notification)

    // Custom handling logic
  }

  override func didReceive(_ response: UNNotificationResponse, completionHandler completion: @escaping (UNNotificationContentExtensionResponseOption) -> Void) {
    super.didReceive(response, completionHandler: completion)

    // Custom handling logic
  }
}

Paso 5: Configurar el plist de la extensión de contenido de notificación

Abre el archivo Info.plist de la Notification Content Extension, luego agrega y cambia las siguientes claves en NSExtension \ NSExtensionAttributes:

Clave Tipo Valor
UNNotificationExtensionCategory String ab_cat_push_story_v2
UNNotificationExtensionDefaultContentHidden Boolean YES
UNNotificationExtensionInitialContentSizeRatio Number 0.6
UNNotificationExtensionUserInteractionEnabled Boolean YES

Además, agrega el siguiente diccionario Braze de nivel superior al mismo archivo Info.plist, reemplazando REPLACE_WITH_APPGROUP con el grupo de aplicaciones que creaste en el Paso 2:

Clave Tipo Valor
Braze.AppGroup String REPLACE_WITH_APPGROUP

Tu archivo Info.plist debería coincidir con la siguiente imagen:

Info.plist de la extensión de contenido de notificación con las claves de historias push de Braze y la configuración del grupo de aplicaciones.

Paso 6: Actualizar la integración de Braze en tu aplicación principal

Antes de inicializar Braze, asigna el nombre de tu grupo de aplicaciones a la propiedad push.appGroup de la 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)

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 historias push

Paso 1: Crear una extensión de contenido de notificación

En tu proyecto de Xcode, crea una extensión de contenido de notificación. Para un recorrido completo, consulta Tutorial de historias push en iOS.

Paso 2: Configurar tu grupo de aplicaciones push

En el archivo config.xml de tu proyecto, configura el grupo de aplicaciones push que acabas de crear.

<preference name="com.braze.ios_push_app_group" value="NOTIFICATION_CONTENT_EXTENTION" />

Sustituye PUSH_APP_GROUP por el nombre de tu grupo de aplicaciones push. Tu config.xml debería ser similar al siguiente:

<preference name="com.braze.ios_push_app_group" value="MyPushAppGroup" />

Paso 3: Añadir un nuevo objetivo

Abre tu archivo de bibliotecas y añade BrazePushStory al objetivo de la extensión de contenido de notificación que creaste anteriormente. Para evitar errores de símbolos duplicados, utiliza enlazado estático.

target 'NOTIFICATION_CONTENT_EXTENSION' do
  use_frameworks! :linkage => :static
  pod 'BrazePushStory'
end

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

target 'MyAppNotificationContentExtension' do
  use_frameworks! :linkage => :static
  pod 'BrazePushStory'
end

Paso 4: Reinstalar tus dependencias de CocoaPods

En la terminal, ve a tu directorio de iOS y reinstala tus 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.

Habilitación de historias push

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

Para habilitar las historias push en iOS usando Expo, asegúrate de tener un grupo de aplicaciones definido para tu aplicación. Para más información, consulta Añadir un grupo de aplicaciones.

A continuación, configura la propiedad enableBrazeIosPushStories como true y asigna el ID de tu grupo de aplicaciones a iosPushStoryAppGroup en tu objeto expo.plugins en app.json:

{
  "expo": {
    "plugins": [
      [
        "@braze/expo-plugin",
        {
          ...
          "enableBrazeIosPushStories": true,
          "iosPushStoryAppGroup": "group.com.company.myApp.PushStories"
        }
      ]
    ]
  }
}

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

New Stuff!