Hello,
Recently I tried my hands on iOS app after long time as I had to convert one of our hybrid app to native app on urgent basis. There I had webview where I was loading my html app. On FCM message receieved we need to send URL received in FCM to webview and load the URL.
So here in this blog I will mention the procedure for it.
First of all in AppDelegate we have didReceiveRemoteNotification method. There we will create notification for it. Here is the code.
Recently I tried my hands on iOS app after long time as I had to convert one of our hybrid app to native app on urgent basis. There I had webview where I was loading my html app. On FCM message receieved we need to send URL received in FCM to webview and load the URL.
So here in this blog I will mention the procedure for it.
First of all in AppDelegate we have didReceiveRemoteNotification method. There we will create notification for it. Here is the code.
let url = dict
serverURL = url;
let notificationName = Notification.Name("updateWebView")
NotificationCenter.default.post(name: notificationName, object: nil)
Now in the ViewController where you want to make updates, subscribe to this notification in viewDidLoad function.
override func viewDidLoad() {
let notificationName = Notification.Name("updateWebView")
NotificationCenter.default.addObserver(self, selector: #selector(ViewController.updateWebView), name: notificationName, object: nil)
}
And then add function in ViewController.
@objc func updateWebView() {
let appDelegate = UIApplication.shared.delegate as! AppDelegate
let serverURL = appDelegate.serverURL
guard let url = URL(string: serverURL!) else {
print("Invalid URL")
return
}
let request = URLRequest(url: url)
webView.load(request)
}
That's it and now you will have data passed from AppDelegate to ViewController. This method you can pass any kind of data from FCM to respective ViewController.
Hope this helps you.