I reached UINotification
value on didReceive
, willPresent
and getDeliverredNotifications
functions. But i can't reach notification value in didReceiveRemoteNotification
. I want to reach notification, because notification value has got identifier and date informations. I store notification data to device and i need that information.
extension AppDelegate: UNUserNotificationCenterDelegate {
func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void){
let userInfo = response.notification.request.content.userInfo
let id = response.notification.request.identifier
let date = response.notification.date
completionHandler()
}
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
guard let aps = userInfo["aps"] as? [String: AnyObject] else {
completionHandler(.failed)
return
}
}
func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification) async -> UNNotificationPresentationOptions {
let userInfo = notification.request.content.userInfo
let id = notification.request.identifier
let date = notification.date
return [[.banner, .badge, .list, .sound]]
}
}
I tried to get notification data in didReceiveRemoteNotification
but i couldn't.
When creating push notifications on the server side, put this data to get unique id and date in userInfo in didReceiveRemoteNotification. You can get the current date on the server or call Date() in didReceiveRemoteNotification.