Historias push
Aprende a configurar historias push para el SDK de Braze.
Prerequisites
Before you can use this feature, you’ll need to integrate the Cordova Braze SDK. También tendrás que configurar las notificaciones push, lo que incluye implementar el framework UNNotification
.
Se necesitan las siguientes versiones del SDK para recibir historias push:
Configuración de las historias push
Paso 1: Añadir el objetivo de la extensión de contenido de notificación
En el proyecto de tu aplicación, ve al menú Archivo > Nuevo > Objetivo y añade un nuevo objetivo Notification Content Extension
y actívalo.
Xcode debe generar un nuevo objetivo para usted y crear archivos automáticamente para ti, entre ellos:
NotificationViewController.swift
MainInterface.storyboard
Paso 2: Habilitar capacidades
En Xcode, añade la capacidad Modos de fondo utilizando el panel Firma y capacidades al objetivo principal de la aplicación. Selecciona las casillas de verificación Obtención en segundo plano y Notificaciones remotas.
Añadir un grupo de aplicaciones
Además, desde el panel Firma y capacidades de Xcode, añade la capacidad Grupos de aplicaciones a tu objetivo de aplicación principal, así como a los objetivos de Extensión de contenido de notificaciones. Después, haz clic en el botón +. Utiliza 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 llamar a tu grupo de aplicaciones group.com.company.appname.xyz
.
En este contexto, Grupos de aplicaciones se refiere al derecho de Grupos de aplicaciones de Apple y no a tu ID de espacio de trabajo Braze (antes “grupo de aplicaciones”).
Si no añades tu aplicación a un grupo de aplicaciones, es posible que tu aplicación no rellene determinados campos de la carga útil push y no funcione completamente como se espera.
Paso 3: Añadir el framework de historias push a tu aplicación
Después de seguir 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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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 obtener instrucciones para implementar Rich Push, consulta Notificaciones enriquecidas.
Tras actualizar el archivo de bibliotecas, ve al directorio de tu proyecto de aplicación Xcode dentro de tu terminal y ejecuta pod install
.
Descarga el último BrazePushStory.zip
de la página de versiones de GitHub, extráelo y añade el BrazePushStory.xcframework
al Notification Content Extension
de tu proyecto.
Asegúrate de que la opción No incrustar está seleccionada para BrazePushStory.xcframework en la columna Incrustar.
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:
1
import BrazePushStory
A continuación, sustituye la implementación predeterminada heredando BrazePushStory.NotificationViewController
:
1
class NotificationViewController: BrazePushStory.NotificationViewController {}
Manejo personalizado de eventos de historias push
Si quieres implementar tu propia lógica personalizada para gestionar eventos de notificación push de historias push, hereda BrazePushStory.NotificationViewController
como se indica arriba y anula los métodos didReceive
como se indica a continuación.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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: Configuración del plist de Extensión de Contenido de Notificación
Abre el archivo Info.plist
del Notification Content Extension
, luego añade y cambia las siguientes claves en NSExtension \ NSExtensionAttributes
:
Clave | Tipo | Valor |
---|---|---|
UNNotificationExtensionCategory |
Cadena | ab_cat_push_story_v2 |
UNNotificationExtensionDefaultContentHidden |
Booleano | YES |
UNNotificationExtensionInitialContentSizeRatio |
Número | 0.6 |
UNNotificationExtensionUserInteractionEnabled |
Booleano | YES |
Tu archivo Info.plist
debe 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 tu configuración Braze.
1
2
3
4
let configuration = Braze.Configuration(apiKey: "<YOUR-BRAZE-API-KEY>",
endpoint: "<YOUR-BRAZE-ENDPOINT>")
configuration.push.appGroup = "REPLACE_WITH_APPGROUP"
let braze = Braze(configuration: configuration)
Prerequisites
Before you can use this feature, you’ll need to integrate the Cordova Braze SDK. You’ll also need to set up push notifications.
Setting up push stories
Step 1: Create a notification content extension
In your Xcode project, create a notification content extension. For a full walkthrough, see iOS Push Stories Tutorial.
Step 2: Configure your push app group
In your project’s config.xml
file, configure the push app group you just created.
1
<preference name="com.braze.ios_push_app_group" value="NOTIFICATION_CONTENT_EXTENTION" />
Replace PUSH_APP_GROUP
with the name of your push app group. Your config.xml
should be similar to the following:
1
<preference name="com.braze.ios_push_app_group" value="MyPushAppGroup" />
Step 3: Add a new target
Open your Podfile and add BrazePushStory
to the notification content extension target you created previously. To avoid duplicate symbol errors, use static linking.
1
2
3
4
target 'NOTIFICATION_CONTENT_EXTENSION' do
use_frameworks! :linkage => :static
pod 'BrazePushStory'
end
Replace NOTIFICATION_CONTENT_EXTENSION
with the name of your notification content extension. Your Podfile should be similar to the following:
1
2
3
4
target 'MyAppNotificationContentExtension' do
use_frameworks! :linkage => :static
pod 'BrazePushStory'
end
Step 4: Reinstall your CocoaPods dependencies
In the terminal, go to your iOS directory and reinstall your CocoaPod dependencies.
1
2
cd PATH_TO_PROJECT/platform/ios
pod install
Prerequisites
Before you can use this feature, you’ll need to integrate the React Native Braze SDK. 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 mediante Expo, asegúrate de que tienes 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
en true
y asigna el ID de tu grupo de aplicaciones a iosPushStoryAppGroup
en tu objeto expo.plugins
en app.json
:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"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 Utilizar extensiones de aplicación con los Servicios de Aplicación Expo.
Si utilizas historias push con los servicios de aplicaciones Expo, asegúrate de utilizar la bandera EXPO_NO_CAPABILITY_SYNC=1
al ejecutar eas build
. Hay un problema conocido en la línea de comandos que elimina la capacidad de Grupos de aplicaciones del perfil de aprovisionamiento de tu extensión.