Я обрабатываю удаленное уведомление, как фрагмент кода, показанный ниже, но мне не удалось запустить приложение и перенаправить на определенные страницы, когда пользователи принудительно запускают приложение.
func userNotificationCenter(_ center: UNUserNotificationCenter,
didReceive response: UNNotificationResponse,
withCompletionHandler completionHandler: @escaping () -> Void) {
let userInfo = response.notification.request.content.userInfo
let page = userInfo["page"] as! String
if page == "message"{
NotificationCenter.default.post(name: Notification.Name(rawValue: "Messages"), object: nil) }
Я где-то здесь читал, что в appdelegate didfinishlaunchingwithoptions мы можем добавить строку:
if let remoteNotification = launchOptions?[.remoteNotification] as? [AnyHashable : Any] {
}
Но я не знаю, как извлечьинформация сообщения из этого словаря
Обновлено для моего ответа на уведомление:
4 elements
▿ 0 : 2 elements
▿ key : AnyHashable("aps")
- value : "aps"
▿ value : 2 elements
▿ 0 : 2 elements
- key : alert
▿ value : 2 elements
▿ 0 : 2 elements
- key : title
- value : New Message
▿ 1 : 2 elements
- key : body
- value : You have a new message from John
▿ 1 : 2 elements
- key : sound
- value : default
▿ 1 : 2 elements
▿ key : AnyHashable("gcm.message_id")
- value : "gcm.message_id"
- value : 0:
▿ 2 : 2 elements
▿ key : AnyHashable("google.c.a.e")
- value : "google.c.a.e"
- value : 1
▿ 3 : 2 elements
▿ key : AnyHashable("page")
- value : "page"
- value : message