Firebase iOS从推送通知

时间:2018-05-14 07:38:05

标签: swift firebase apple-push-notifications

我目前正在尝试通过firebase向iOS发送通知,其中包含我想要保存到变量的数据。

我的服务器正在推送手机收到的通知,通知中包含topic_name, message_body, data_message, sound。所有这些都有效,尽管我对如何访问数据感到困惑。基本上,我想将发送的数据保存到变量。

我将如何做到这一点?

2 个答案:

答案 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)

只要您确实拥有数据,就可以通过多种方式在代码中传递数据。一种方法是发布通知,其中包含负责使用数据的类/对象可以侦听的数据。使用排序的最佳解决方案取决于您的应用程序的结构......