De payloadstructuur voor pushmeldingen begrijpen push-payload
Met Adobe Campaign kunt u persoonlijke en gesegmenteerde pushmeldingen op mobiele iOS- en Android-apparaten verzenden naar mobiele toepassingen (mobiele app).
Elke pushmelding die op een mobiele app wordt ontvangen, bevat informatie die door de app wordt gebruikt om de pushmelding weer te geven als een waarschuwingsbericht wordt verzonden. De pushmelding werkt hoogstwaarschijnlijk ook verder, vooral als een pushmelding wordt verzonden.
Deze informatie wordt ontvangen door de mobiele toepassingscode in een gebeurtenishandler die aangeeft dat een pushmelding is ontvangen. Wanneer u pushberichten van Adobe Campaign Standard verzendt, kunnen de gegevens die in de mobiele app zijn ontvangen ook specifieke informatie over het Campaign Standard bevatten die kan worden gebruikt om gebruik te maken van bepaalde functies die door het Campaign Standard worden geboden. Bovendien kan de lading aangepaste gegevens bevatten die door de mobiele app kunnen worden verbruikt.
In dit document wordt de structuur beschreven van de payload die in een mobiele app is ontvangen wanneer een pushmelding naar een app van Adobe Campaign Standard is verzonden.
Push-laadstructuur push-payload-structure
Deze sectie beschrijft een structuur van een steekproeflading voor diverse mobiele platforms en beschrijft belangrijke attributen die in het bevat zijn. Dit is de structuur van de payload die in de code voor de mobiele app in de gebeurtenishandler wordt ontvangen, die aangeeft dat een pushmelding is ontvangen.
De attributen en hun waarden van de nuttige lading zullen variëren gebaseerd op de configuraties die in de Geavanceerde opties van het pushbericht worden verstrekt. Deze sectie verstrekt ook een afbeelding tussen deze configuraties in Campaign Standard UI en de attributen in de nuttige lading om te verduidelijken hoe de nuttige lading bij het vormen van een optie in Campaign Standard zal veranderen.
Voor iOS Mobile-toepassing payload-structure-ios
Voorbeeld van Payload verzonden van Adobe Campaign naar iOS-app:
{
"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"}
JSON-voorbeeldlading voor gebruik met 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"
}
Het belangrijkste gedeelte van de lading is het aps-woordenboek, dat Apple-bepaalde sleutels bevat en wordt gebruikt om te bepalen hoe het systeem dat het bericht ontvangt de gebruiker zou moeten waarschuwen, als bij allen. Deze sectie bevat vooraf gedefinieerde toetsen die door de mobiele app worden gebruikt om het gedrag van de pushmelding te formuleren.
Meer informatie over de kenmerken binnen de aps vindt u in de documenten voor Apple-ontwikkelaars: De taakbelasting voor externe berichten maken.
Voor Android-toepassing payload-structure-android
Voorbeeld van Payload verzenden van Adobe Campaign naar Android-app
{
"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
}
}
Te gebruiken JSON-voorbeeldlading 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
}
}
De payload bevat een gegevensbericht dat alle inhoud van het pushbericht bevat, inclusief de aangepaste sleutel-/waardeparen, en de client-app moet het bericht verwerken om pushmelding te maken en weer te geven, indien nodig of om andere bedrijfslogica toe te voegen.
Om aspecten van een android lading te begrijpen verwijs naar Concepten en opties voor berichten (fcm).
Toewijzing tussen Campaign Standard-configuraties en Payload-kenmerken mapping-payload
Bericht
waarschuwing →
lichaam
De titel en de lichaamstoetsen verstrekken de inhoud van de alarm.
Met de categorietoets kan het systeem de handelingen voor die categorie weergeven als knoppen in de waarschuwingsinterface.
(Alleen van toepassing voor iOS 10 of hoger)
Wanneer u een waarde voor deze URL opgeeft, wordt de markering voor gemuteerde inhoud automatisch naar de payload verzonden.
(Alleen van toepassing voor iOS 10 of hoger)
(Alleen van toepassing voor iOS 10 of hoger)
(Alleen van toepassing voor iOS 10 of hoger)
(Alleen van toepassing op Android)
_dId
_dId
Deze kenmerken zijn vereist als uw app een trackingpostback wil aanroepen om bij te houden wanneer op de pushmelding is geklikt of deze is geopend. Deze informatie wordt berekend en intern verzonden door de toepassingsserver zonder tussenkomst van de gebruiker.
Informatie over postbacks vindt u in deze page.
Informatie over de payload ophalen in mobiele app-code payload-information
De payload-informatie die door de toepassingsserver wordt verzonden, wordt ontvangen door de mobiele toepassingscode in een gebeurtenishandler die aangeeft dat een pushmelding is ontvangen. Deze gebeurtenis varieert op basis van het mobiele platform waaraan wordt gewerkt en ook op basis van het feit of de app op de voor- of achtergrond wordt uitgevoerd. De volgende documentatie helpt u de gebeurtenismanager identificeren u wenst om te behandelen gebaseerd op uw gebruiksgeval.
- iOS-toepassingen: Externe berichten verwerken sectie in Externe meldingen.
- Android-toepassingen: Berichten ontvangen op een Android-clienttoepassing
Voorbeeld voor iOS Mobile-app
- (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"];
}
Voorbeeld voor FCM-app voor 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");
}