【发布时间】:2019-10-02 04:48:19
【问题描述】:
我是推送通知的新手,我设法让推送通知正常工作。现在,每当收到推送通知时,如果我按下它,应用程序就会打开并进入一个页面。
这是我的推送通知消息
{"to":"eHPnnkSDzWk:APA91bHs...","data":{"message":"test notification","type":"5"}}
这些是类型
Gallery ( Type = 1 )
Messenger ( Type = 4 )
Events ( Type = 5 )
News ( Type = 6 )
这是目前我的 didReceiveRemoteNotification 函数
func application(_ application: UIApplication, didReceiveRemoteNotification
userInfo: [AnyHashable: Any],fetchCompletionHandler completionHandler: @escaping
(UIBackgroundFetchResult) -> Void) {
if let messageID = userInfo[gcmMessageIDKey] {
print("Message ID: \(messageID)")
}
print(userInfo)
completionHandler(UIBackgroundFetchResult.newData)
}
这是我的问题,当用户点击推送通知时,如何从推送通知中获取此 TYPE,然后在应用上打开特定页面?
(对不起,如果这听起来很傻,但这是我第一次尝试这样做,我试图环顾四周但找不到任何合适的答案)
【问题讨论】:
-
您要问 2 个问题 1. 我可以获取此 TYPE 吗? 2。在应用程序上打开特定页面?您说您知道如何从字典中获取值意味着您应该能够从
userInfo字典中获取值。 -
你可以问,但它不应该像你的第二个问题那样模棱两可。我们不知道您要打开什么?不应发布重复的问题。你可以先试试这个how to get push notification value swift
-
我在这里同意@Kamran,解决方案只是找出字典的结构并读取值。致 Zyfe3r:作为一个提示,我通常会设置一个断点,在那里我可以调试字典内容并使用 lldb 来了解字典的结构。
-
如前所述,这个问题中有几个问题,虽然它们是相关的,但很难在一个答案中解决所有问题。具体问题是什么也有点不清楚;使用字典?从通知中获取数据?使用视图控制器? Firebase 入门指南Receive messages in iOS 涵盖了其中的一部分。您的问题中没有任何代码尝试做任何这些事情 - 您能澄清一下具体问题是什么吗?然后我们可以看看并尝试提供帮助。
标签: ios swift firebase push-notification firebase-cloud-messaging