ios - 从自定义有效负载 Swift 中获取数据
问题描述
我正在使用自定义有效负载进行通知并收到通知,但无法从 Key [“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)
}
结果是:这是一个带有自定义有效负载的通知!如果有人可以帮助我,将不胜感激。预先感谢问候。
解决方案
在通知的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..
}
}
推荐阅读
- javascript - 如何将身份验证令牌作为标头从 html 文件传递
- javascript - ReactJs,带有按钮的下拉菜单还是我应该使用其他东西?
- oop - 组合与继承
- c++ - C++ R-Value 有大小吗?
- excel - 这些电话号码是什么类型的
- amazon-web-services - How to setup EMR cluster which supports Impala?
- ios - 分享你的ios开发证书安全吗?
- javascript - 在 php 中使用 Ajax 以 Json 数据格式在控制台上显示数据库中的数据记录时出错
- python - python中的溢出错误?
- angular - 如何从 slickgrid 中的自定义组件获取输出?