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: Añadir el objetivo de extensión de contenido de notificación
En tu proyecto de aplicación, ve al menú Archivo > Nuevo > Objetivo y añade un nuevo objetivo Notification Content Extension y actívalo.

Xcode debería generar un nuevo objetivo y crear archivos automáticamente, incluyendo:
NotificationViewController.swiftMainInterface.storyboard
Paso 2: Habilitar capacidades
En Xcode, añade la capacidad Background Modes utilizando el panel Signing & Capabilities al objetivo principal de la aplicación. Selecciona las casillas Background fetch y Remote notifications.

Añadir un grupo de aplicaciones
Además, desde el panel Signing & Capabilities en Xcode, añade 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 del paquete de tu aplicación para crear el grupo de aplicaciones. Por ejemplo, si el ID del paquete de tu aplicación es com.company.appname, puedes nombrar tu grupo de aplicaciones group.com.company.appname.xyz.

Los grupos de aplicaciones en este contexto se refieren a los App Groups Entitlement de Apple y no al ID de tu espacio de trabajo de Braze (anteriormente grupo de aplicaciones).
Si no añades tu aplicación a un grupo de aplicaciones, es posible que tu aplicación no logre completar ciertos campos de la carga útil push y no funcionará completamente como se espera.
Paso 3: Añadir el framework de historias push a tu aplicación
Después de haber seguido la guía de integración de Swift Package Manager, añade BrazePushStory a tu Notification Content Extension:


Añade 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

Para más información sobre la implementación de notificaciones push enriquecidas, consulta Notificaciones push enriquecidas.
Después de actualizar el archivo de bibliotecas, navega al directorio de tu proyecto de aplicación Xcode en la terminal y ejecuta pod install.
Descarga el último BrazePushStory.zip desde la página de versiones de GitHub, extráelo y añade BrazePushStory.xcframework a la Notification Content Extension de tu proyecto.


Asegúrate de que Do Not Embed esté seleccionado para BrazePushStory.xcframework en la columna Embed.
Paso 4: Actualizar tu controlador de vista de notificación
En NotificationViewController.swift, añade la siguiente línea para importar los archivos de cabecera:
import BrazePushStory
A continuación, reemplaza la implementación predeterminada heredando BrazePushStory.NotificationViewController:
class NotificationViewController: BrazePushStory.NotificationViewController {}
Gestión personalizada de eventos de historias push
Si deseas implementar tu propia lógica personalizada para gestionar eventos de notificaciones 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 añade y modifica 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, añade el siguiente diccionario de nivel superior Braze 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:

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.
Habilitar 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 Usar extensiones de aplicación con Expo Application Services.

Si estás usando historias push con Expo Application Services, asegúrate de usar la marca EXPO_NO_CAPABILITY_SYNC=1 al ejecutar eas build. Existe un problema conocido en la línea de comandos que elimina la capacidad App Groups del perfil de aprovisionamiento de tu extensión.