我目前正在尝试通过firebase向iOS发送通知,其中包含我想要保存到变量的数据。
我的服务器正在推送手机收到的通知,通知中包含topic_name, message_body, data_message, sound
。所有这些都有效,尽管我对如何访问数据感到困惑。基本上,我想将发送的数据保存到变量。
我将如何做到这一点?
答案 0 :(得分:3)
有效载荷
{
"aps" : {
"alert" : "Notification with custom payload!",
"badge" : 1,
"content-available" : 1
},
"data" :{
"title" : "Game Request",
"body" : "Bob wants to play poker",
"action-loc-key" : "PLAY"
}
}
读取有效载荷数据
@available(iOS 10, *)
extension AppDelegate : UNUserNotificationCenterDelegate {
func userNotificationCenter(_ center: UNUserNotificationCenter,
willPresent notification: UNNotification,
withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
let userInfo = notification.request.content.userInfo
if let aps = userInfo["aps"] as? NSDictionary
{
let alert = aps["alert"]as? NSString
let badge = aps["badge"] as? Int
}
completionHandler([.alert, .badge, .sound])
}
答案 1 :(得分:0)
只要您确实拥有数据,就可以通过多种方式在代码中传递数据。一种方法是发布通知,其中包含负责使用数据的类/对象可以侦听的数据。使用排序的最佳解决方案取决于您的应用程序的结构......