Présentation de la structure de la payload des notifications push push-payload
Adobe Campaign vous permet d’envoyer des notifications push personnalisées et segmentées sur les appareils mobiles iOS et Android vers les applications mobiles (app mobiles).
Chaque notification push reçue sur une application mobile comporte des informations utilisées par l’application pour afficher la notification push en cas d’envoi d’une notification push d’alerte, et probablement pour effectuer d’autres calculs, en particulier si une notification push silencieuse est envoyée.
Ces informations sont reçues par le code de l’application mobile dans un gestionnaire d’événement qui indique qu’une notification push a été reçue. Lors de l'envoi de notifications push depuis Adobe Campaign Standard, les informations reçues dans l'application mobile peuvent également contenir des informations spécifiques à Campaign Standard qui peuvent être utilisées pour tirer parti de certaines fonctionnalités fournies par Campaign Standard. En outre, la payload peut contenir des données personnalisées qui peuvent être consommées par l’application mobile.
Ce document décrit la structure de la payload reçue dans une application mobile lorsqu’une notification push est envoyée avec succès à une application à partir d’Adobe Campaign Standard.
Structure de la payload push push-payload-structure
Cette section décrit la structure d’un exemple de payload pour diverses plateformes mobiles et décrit les principaux attributs qu’elle contient. Il s’agit de la structure de la payload reçue dans le code de l’application mobile dans le gestionnaire d’événement qui indique qu’une notification push a été reçue.
Les attributs de payload et leurs valeurs varient en fonction des configurations fournies dans les options avancées de notification push. Cette section fournit également un mappage entre ces configurations dans l’interface utilisateur Campaign Standard et les attributs dans la payload afin de clarifier la façon dont la payload changera lors de la configuration d’une option dans Campaign Standard.
Pour l’application mobile iOS payload-structure-ios
Exemple de payload envoyée d’Adobe Campaign à l’application 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"}
Exemple de payload JSON à utiliser avec 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 section la plus importante de la payload est le dictionnaire aps, qui contient des clés définies par Apple et est utilisé pour déterminer comment le système qui reçoit la notification doit alerter l’utilisateur, le cas échéant. Cette section contient des clés prédéfinies utilisées par l’application mobile pour formuler le comportement de la notification push.
Vous trouverez des informations détaillées sur les attributs dans aps dans la documentation destinée aux développeurs Apple : Création de la payload de notification à distance.
Pour l’application Android payload-structure-android
Exemple d'envoi de payload depuis Adobe Campaign vers l'application 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
}
}
Exemple de payload JSON pour utiliser le 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 payload contient un message de données qui inclut tout le contenu de la diffusion de la notification push, y compris les paires clé/valeur personnalisées. L’application cliente doit gérer le message pour créer et afficher la notification push, si nécessaire, ou pour ajouter toute autre logique métier.
Pour comprendre les aspects d’une payload Android, consultez la section Concepts et options de messagerie (fcm).
Mappage entre les configurations Campaign Standard et les attributs de payload mapping-payload
Corps du message
alerte → corps
corps
Le titre et les clés de corps fournissent le contenu de l’alerte.
La clé de catégorie permet au système d’afficher les actions pour cette catégorie sous forme de boutons dans l’interface d’alerte.
(Applicable uniquement pour iOS 10 ou version ultérieure)
Lorsque vous fournissez une valeur pour cette URL, le drapeau de contenu mutable est automatiquement envoyé dans le payload.
(Uniquement applicable pour iOS 10 ou version ultérieure)
(Applicable uniquement pour iOS 10 ou version ultérieure)
(Uniquement applicable pour iOS 10 ou version ultérieure)
(Applicable uniquement pour Android)
_dId
_dId
Ces attributs sont requis si votre application souhaite appeler un postback de suivi pour effectuer le suivi du moment où l’utilisateur a cliqué sur/ouvert la notification push. Ces informations sont calculées et envoyées en interne par le serveur applicatif, sans intervention de l’utilisateur.
Vous trouverez des informations sur les postbacks sur cette page.
Comment récupérer les informations de payload dans le code d’application mobile payload-information
Les informations de payload envoyées par le serveur de l’application sont reçues par le code de l’application mobile dans un gestionnaire d’événement qui indique qu’une notification push a été reçue. Cet événement varie selon la plateforme mobile sur laquelle l’application est en cours d’exécution et selon que l’application est exécutée au premier plan ou en arrière-plan. La documentation suivante vous aidera à identifier le gestionnaire d’événements que vous souhaitez gérer en fonction de votre cas d’utilisation.
- Applications iOS : Gestion des notifications à distance dans Notifications à distance.
- Applications Android : Réception de messages sur une application client Android
Exemple pour une application mobile 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"];
}
Exemple pour une application FCM mobile Android
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");
}