在getDeliveredNotifications(completionHandler :)方法中读取Push Notification有效内容详细信息

时间:2017-12-13 10:09:53

标签: swift notifications apple-push-notifications ios10

这是我的推送通知有效负载。

{
    "userId":"QA-207-222820",
    "title":"Push new Notification",
    "message":"New Notification",
    "deviceId":"70",
    "deviceName":"R70",
    "notificationType":"1"
}

无法在ios10中的getDeliveredNotifications方法内的通知对象中读取上述有效内容键和值。

以下是getDeliveredNotifications方法中的通知对象详细信息。

<UNNotification: 0x1742389a0; date: 2017-12-13 09:34:59 +0000,

 request: <UNNotificationRequest: 0x1742389c0; identifier: 067437A1-E8F3-4805-B6D9-
A57BE48E9554, 

content: <UNNotificationContent: 0x17410ba30; title: (null), 
subtitle: (null), body: New Notification 
, categoryIdentifier: , launchImageName: , peopleIdentifiers: (
), threadIdentifier: , attachments: (
), badge: (null), 

sound: <UNNotificationSound: 0x1740b75e0>, 
hasDefaultAction: YES, defaultActionTitle: (null), shouldAddToNotificationsList: YES,
shouldAlwaysAlertWhileAppIsForeground: NO, shouldLockDevice: NO, shouldPauseMedia: NO, 
isSnoozeable: NO, fromSnooze: NO, darwinNotificationName: (null), darwinSnoozedNotificationName: (null), 

trigger: <UNPushNotificationTrigger: 0x17400e2a0; contentAvailable: YES, mutableContent: NO>>>

除了我的通知消息&#34;新通知&#34;之外,没有关于我在推送通知中发送的有效负载的信息。它存在于通知对象的正文密钥中,是否有任何方法可以读取通知对象中的所有有效负载密钥。任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:6)

您的有效负载应位于通知内容的userInfo字典中:

let userInfo = notification.request.content.userInfo
print userInfo["userId"]