如何从fireBase推送通知swift 4中获取数据

Posted

技术标签:

【中文标题】如何从fireBase推送通知swift 4中获取数据【英文标题】:how to get data from fireBase push notifications swift 4 【发布时间】:2018-11-29 09:17:22 【问题描述】:

我正在使用 fcm 来生成推送通知。

我得到了推送通知,但我不知道如何在 Swift 4 中提取响应。

func messaging(_ messaging: Messaging, didReceive remoteMessage: MessagingRemoteMessage) 
    print("Received data message: \(remoteMessage.appData)")

打印的结果是这样的:

收到数据消息:[AnyHashable("vibrate"): 1, AnyHashable("id"): 35823004, AnyHashable("message"): testMessage, AnyHashable("autoRun"): 假,AnyHashable(“来自”):523681638965,AnyHashable(“标题”):testTitle, AnyHashable("notifyType"): 通知, AnyHashable("sound"): 3, AnyHashable("大图标"): http://test.png, AnyHashable("ledColor"): #f39c12]

所以我的问题是如何访问“标题”和“消息”等内部的数据?

【问题讨论】:

appData 只是 [AnyHashable : Any] 字典,使用带键的下标。 谢谢,但你能给我一个从中提取价值的例子吗? @user28434 Exactly like you would do it with any other dictionary. 我尝试了最努力的提取方法,但你说得对,这很容易 :)) 非常感谢@user28434 _ 【参考方案1】:

如果你想得到消息,你需要像下面这样设置:

func messaging(_ messaging: Messaging, didReceive remoteMessage: MessagingRemoteMessage) 
print("Received data message: \(remoteMessage.appData)")
 let info = response.notification.request.content.userInfo
 if let message = info["messages"] 
  print(message)
  

【讨论】:

以上是关于如何从fireBase推送通知swift 4中获取数据的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Firebase 推送通知中获取字幕

Swift 从用户向用户发送推送通知 Firebase

从推送通知 iOS Swift 4 中获取值

Firebase 推送通知无法获取 APNS 令牌错误 Domain=com.firebase.iid Code=1001 "(null)" using Swift3

为啥我在 Swift 中没有收到来自 Firebase 的推送通知?

SwiftUI 和 Firebase:从推送通知中获取信息