【发布时间】:2019-09-26 00:46:24
【问题描述】:
我有一个名为 net core 的平台,它是用于发送推送通知的外部来源。问题是当我将链接放在通知中并尝试通过单击推送通知打开应用程序时。该链接没有在应用程序中打开,它正在导航到 safari。
有没有办法从推送通知中打开应用程序中的链接,并根据链接中存在的数据打开特定的视图控制器?
大家有解决这个问题的办法吗?
提前致谢
【问题讨论】:
标签: swift push-notification deep-linking
我有一个名为 net core 的平台,它是用于发送推送通知的外部来源。问题是当我将链接放在通知中并尝试通过单击推送通知打开应用程序时。该链接没有在应用程序中打开,它正在导航到 safari。
有没有办法从推送通知中打开应用程序中的链接,并根据链接中存在的数据打开特定的视图控制器?
大家有解决这个问题的办法吗?
提前致谢
【问题讨论】:
标签: swift push-notification deep-linking
是的,有可能
首先,你应该以正确的方式发送 URL(在通知的数据部分)
然后在
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void)
您需要从userInfo 参数(这是您的通知)中获取此网址
保持这样的网址
var urlToOpen: String?
在 AppDelegate 中
然后在applicationDidBecomeActive 方法中,您应该检查urlToOpen 是否不为零,如果不按您的意愿解析它并做任何您想做的事情(例如打开特定的 ViewController 或其他一些东西)。
附言
不要忘记在applicationDidBecomeActive 方法结束时将urlToOpen 设置为nil
【讨论】: