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

Sum*_*wal 3 notifications apple-push-notifications swift ios10

这是我的推送通知负载.

{
    "userId":"QA-207-222820",
    "title":"Push new Notification",
    "message":"New Notification",
    "deviceId":"70",
    "deviceName":"R70",
    "notificationType":"1"
}
Run Code Online (Sandbox Code Playgroud)

无法getDeliveredNotifications在ios10中的方法内的通知对象中读取上面的有效负载键和值.

这是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>>>
Run Code Online (Sandbox Code Playgroud)

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

dav*_*ell 9

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

let userInfo = notification.request.content.userInfo
print userInfo["userId"]
Run Code Online (Sandbox Code Playgroud)