Skip to content


Notificaciones enriquecidas de iOS 10

iOS 10 introduce la posibilidad de enviar notificaciones push con imágenes, GIF y video. Para habilitar esta funcionalidad, los clientes deben crear un Service Extension, un nuevo tipo de extensión que permite modificar una carga útil push antes de que se muestre.

Crear una extensión de servicio

Para crear una Notification Service Extension, ve a File > New > Target en Xcode y selecciona Notification Service Extension.

Selector de destino de Xcode creando una Notification Service Extension para notificaciones enriquecidas.

Asegúrate de que la opción Embed In Application está activada para incrustar la extensión en tu aplicación.

Configuración de la extensión de servicio

Un Notification Service Extension es un binario propio que se incluye con tu aplicación. Debe configurarse en el Portal del Desarrollador de Apple con su propio ID de aplicación y perfil de aprovisionamiento.

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

Configurar la extensión de servicio para que funcione con Braze

Braze envía una carga útil adjunta en la carga útil de APNs bajo la clave ab que utilizamos para configurar, descargar y mostrar contenido enriquecido. Por ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
  "ab" :
    {
    ...

    "att" :
      {
       "url" : "http://mysite.com/myimage.jpg",
       "type" : "jpg"
       }
    },
  "aps" :
    {
    ...
    }
}

Los valores relevantes de la carga útil son:

1
2
3
4
5
6
7
8
9
10
11
// The Braze dictionary key
static NSString *const AppboyAPNSDictionaryKey = @"ab";

// The attachment dictionary
static NSString *const AppboyAPNSDictionaryAttachmentKey = @"att";

// The attachment URL
static NSString *const AppboyAPNSDictionaryAttachmentURLKey = @"url";

// The type of the attachment - a suffix for the file you save
static NSString *const AppboyAPNSDictionaryAttachmentTypeKey = @"type";

Para mostrar manualmente el push con una carga útil de Braze, descarga el contenido del valor en AppboyAPNSDictionaryAttachmentURLKey, guárdalo como un archivo con el tipo de archivo almacenado en la clave AppboyAPNSDictionaryAttachmentTypeKey y añádelo a los archivos adjuntos de la notificación.

Ejemplo de código

Puedes escribir la extensión de servicio en Objective-C o Swift.

Para utilizar nuestro código de ejemplo en Objective-C, sustituye el contenido del NotificationService.m autogenerado de tu destino Notification Service Extension por el contenido de Appboy NotificationService.m.

Para utilizar nuestro código de ejemplo en Swift, sustituye el contenido del NotificationService.swift autogenerado de tu destino Notification Service Extension por el contenido de Appboy NotificationService.swift.

Crear una notificación enriquecida en tu panel

Para crear una notificación enriquecida en tu panel de Braze, crea un push de iOS, adjunta una imagen o GIF, o proporciona una URL que aloje una imagen, GIF o video. Ten en cuenta que los activos se descargan al recibir las notificaciones push, por lo que debes prever grandes picos sincrónicos de solicitudes si alojas tu contenido.

Consulta unnotificationattachment para ver la lista de tipos y tamaños de archivo admitidos.

New Stuff!