Извлечение данных из Custom Payload Swift - PullRequest
1 голос
/ 22 апреля 2020

Я использую пользовательскую полезную нагрузку для уведомлений и получаю уведомления, но не могу получить данные из ключа ["data"]. Вот мой код полезной нагрузки

{
    "Simulator Target Bundle": "com.xyz.zyxapp",
   "aps" : {
        "alert" : "It's a notification with custom payload!",
        "badge" : 1,
        "content-available" : 0         
    },
    "data" :{
        "title" : "Game Request",
        "body" : "Bob wants to play poker",
        "action-loc-key" : "PLAY"
    },
  }  

Я пытаюсь получить доступ к данным с помощью метода didreceive

 func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void)
  {
     print(response.notification.request.content.body)
}

. Результат: это уведомление с пользовательской полезной нагрузкой! Если кто-нибудь может помочь мне с этим будет оценен. Заранее спасибо С уважением.

1 Ответ

1 голос
/ 22 апреля 2020

Анализ пользовательских данных в свойстве userInfo уведомления вместо тела. userInfo - словарь пользовательской информации, связанной с уведомлением.

func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
    let userInfo = response.notification.request.content.userInfo
    if let data = userInfo["data"] as? [String: Any] {
        //
        //Do your parsing here..
    }
}
...