在 getDeliveredNotifications(completionHandler:) 方法中读取推送通知负载详细信息

Read Push Notification payload details in getDeliveredNotifications(completionHandler:) method

这是我的推送通知负载。

{
    "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>>>

除了我的通知消息 "New Notification" 之外,没有关于我在推送通知中发送的有效载荷的信息,它存在于通知对象的正文密钥中,有没有办法读取通知中的所有有效载荷密钥object.Any 将不胜感激。

你的payload应该在通知内容的userInfo字典中:

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