Explicación de la estructura de carga de las notificaciones push push-payload
Adobe Campaign permite enviar notificaciones push personalizadas y segmentadas en dispositivos móviles iOS y Android a aplicaciones móviles (aplicación móvil).
Cada notificación push recibida en una aplicación móvil lleva consigo información que la aplicación utiliza para mostrar la notificación push si se envía una notificación push de alerta. Es muy probable que también realice algún cálculo adicional, especialmente si se envía una notificación push silenciosa.
El código de la aplicación móvil recibe esta información en un controlador de eventos que indica que se recibió una notificación push. Al enviar notificaciones push desde Adobe Campaign Standard, la información recibida en la aplicación móvil también puede contener información específica del Campaign Standard que puede utilizarse para aprovechar algunas funciones proporcionadas por Campaign Standard. Además, la carga útil puede contener datos personalizados que la aplicación móvil puede consumir.
Este documento describe la estructura de la carga útil recibida en una aplicación móvil cuando se envía correctamente una notificación push a una aplicación desde Adobe Campaign Standard.
Estructura de carga útil push push-payload-structure
Esta sección detalla una estructura de una carga útil de ejemplo para varias plataformas móviles y describe los atributos principales que contiene. Esta es la estructura de la carga recibida en el código de la aplicación móvil en el controlador de eventos que indica que se ha recibido una notificación push.
Los atributos de carga útil y sus valores variarán según las configuraciones proporcionadas en las opciones avanzadas de notificación push. Esta sección también proporciona una asignación entre estas configuraciones en la interfaz de usuario de Campaign Standard y los atributos de la carga útil para aclarar cómo cambiará la carga útil al configurar una opción en Campaign Standard.
Para aplicaciones móviles de iOS payload-structure-ios
Carga útil de ejemplo enviada desde Adobe Campaign a la aplicación iOS:
{
"aps":{
"alert":{
"body":"This is the content of my push notification",
"title":"Push Notification Title"
},
"content-available":1,
"category":"NEW_MESSAGE_CATEGORY",
"badge":2,
"mutable-content":1,
"sound":"default"
},
"custom_field1":"custom_value1",
"custom_field2":"custom_value2",
"media-attachment-url":"https://2.img-dpreview.com/files/p/articles/9440145363/Creative_Cloud.jpeg",
"uri":"https://mydeeplinkurl.com",
"_dId":"56c4",
"_mId":"h138a"}
Carga útil de muestra JSON para usar con iOS APNS Tester
{
"aps": {
"alert": {
"title": "Push Notification Title",
"body": "body of push"
},
"badge": 33,
"sound": "default"
},
"custom_field1": "custom_value1",
"uri": "https://mydeeplinkurl.com"
}
La sección más importante de la carga útil es el diccionario de aplicaciones, que contiene claves definidas por Apple y se utiliza para determinar cómo el sistema que recibe la notificación debe alertar al usuario, si es que lo hace. Esta sección contiene claves predefinidas que utiliza la aplicación móvil para formular el comportamiento de la notificación push.
Encontrará información detallada sobre los atributos de las aplicaciones en los documentos para desarrolladores de Apple: Creación de la carga de notificación remota.
Para la aplicación de Android payload-structure-android
Ejemplo de envío de carga útil de Adobe Campaign a la aplicación Android
{
"collapseKey": "1476005",
"priority": "high",
"data": {
"_dId": "d57fd6",
"_mId": "h1685a5",
"body": "adobe body 123",
"category": "adobe category 123",
"custom key 1": "value 1",
"custom key 2": "test value 2",
"custom key 3": "foo bar android",
"media-attachment-url": "http://adobegiphy.com?test=123",
"sound": "http://testcampaign.instance.com/r/?id=s1685a5,d57fd6,d57ff5",
"title": "adobe title 123",
"uri": "http://testcampaign.instance.com/r/?id=d1685a5,d57fd6,d57ff6",
"badge": 1817
}
}
Carga útil de muestra JSON para usar Google FCM tester
{
"to": "<==========ENTER your device token==============>",
"collapseKey": "1476005",
"priority": "high",
"data": {
"_dId": "d57fd6",
"_mId": "h1685a5",
"title": "adobe title 123",
"body": "adobe body 123",
"category": "adobe category 123",
"custom key 1": "value 1",
"custom key 2": "test value 2",
"custom key 3": "foo bar android",
"media-attachment-url": "http://adobegiphy.com?test=123",
"sound": "http://testcampaign.instance.com/r/?id=s1685a5,d57fd6,d57ff5",
"uri": "http://testcampaign.instance.com/r/?id=d1685a5,d57fd6,d57ff6",
"badge": 1817
}
}
La carga útil contiene un mensaje de datos que incluye todo el contenido de envío de notificaciones push, incluidos los pares clave/valor personalizados, y la aplicación del cliente debe gestionar el mensaje para crear y mostrar notificaciones push, si es necesario, o para añadir cualquier otra lógica empresarial.
Para comprender los aspectos de una carga útil de Android, consulte Conceptos y opciones de mensajería (fcm).
Asignación entre configuraciones de Campaign Standard y atributos de carga útil mapping-payload
Cuerpo del mensaje
alerta → cuerpo
cuerpo
El título y las claves del cuerpo proporcionan el contenido de la alerta.
La clave de categoría ayuda al sistema a mostrar las acciones de esa categoría como botones en la interfaz de alertas.
(solo aplicable para iOS 10 o superior)
Al proporcionar un valor para esta dirección URL, el indicador de contenido mutable se envía automáticamente a la carga.
(solo aplicable a iOS 10 o superior)
(solo aplicable a iOS 10 o superior)
(solo aplicable a iOS 10 o superior)
(solo aplicable para Android)
_dId
_dId
Estos atributos son necesarios si su aplicación desea llamar a un postback de seguimiento para rastrear cuándo se hizo clic o se abrió la notificación push. El servidor de aplicaciones calcula y envía internamente esta información sin la intervención del usuario.
Encontrará información sobre los postbacks en esta página.
Cómo recuperar información de carga útil en el código de la aplicación móvil payload-information
El código de la aplicación móvil recibe la información de carga útil que envía el servidor de aplicaciones en un controlador de eventos que indica que se recibió una notificación push. Este evento variaría en función de la plataforma móvil en la que se trabaje y también en función de si la aplicación se está ejecutando en primer o segundo plano. La siguiente documentación le ayuda a identificar el controlador de eventos que desea controlar en función de su caso de uso.
- Aplicaciones de iOS: sección Gestión de notificaciones remotas en Notificaciones remotas.
- Aplicaciones Android: Recibir mensajes en una aplicación cliente de Android
Ejemplo para la aplicación móvil de iOS
- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo {
NSDictionary *apsDict = [userInfo objectForKey:@"aps"];
NSDictionary *alertDict = [apsDict objectForKey:@"alert"];
NSString *title = [alertDict objectForKey:@"title"];
NSString *body = [alertDict objectForKey:@"body"];
NSString *category = [apsDict objectForKey:@"category"];
NSString *deliveryId = userInfo[@"_dId"];
NSString *broadlogId = userInfo[@"_mId"];
NSString *mediaAttachmentURL = userInfo[@"media-attachment-url"];
NSString *deeplinkURL = userInfo[@"uri"];
NSString *customValue1 = userInfo[@"custom_field1"];
}
Ejemplo para la aplicación FCM de Android Mobile
public void onMessageReceived(RemoteMessage message) {
Map<String, String> dataMap = message.getData();
String title = dataMap.get("title");
String body = dataMap.get("body");
String category = dataMap.get("category");
String deliveryId = dataMap.get("_dId");
String broadlogId = dataMap.get("_mId");
String mediaAttachmentURL = dataMap.get("media-attachment-url");
String deeplinkURL = dataMap.get("uri");
String customValue1 = dataMap.get("custom_field1");
}