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: 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.

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, incluyendo:

  • NotificationViewController.swift
  • MainInterface.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.

Panel de modos en segundo plano en Xcode mostrando las opciones de búsqueda en segundo plano y notificaciones remotas habilitadas.

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.

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:

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

Selección de producto de paquete en Xcode añadiendo BrazePushStory al objetivo de la extensión de contenido de notificación.

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

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.

Configuración de framework en Xcode mostrando BrazePushStory.xcframework añadido con la opción Do Not Embed seleccionada.

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:

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.

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.

New Stuff!