I\'m sending push notification from my node server using the Firebase admin SDK. But on iOS I only want to show the notification when the app is in the background/terminated
You can achieve this in AppDelegate
by using the applicationState
,
In iOS8:
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any]) {
if !UIApplication.shared.applicationState == .active {
// Handle your push notification here
}
}
In iOS10:
import UserNotifications
frameworkImplement UNUserNotificationCenterDelegate
method
func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
if UIApplication.shared.applicationState == .active { // In iOS 10 if app is in foreground do nothing.
completionHandler([])
} else { // If app is not active you can show banner, sound and badge.
completionHandler([.alert, .badge, .sound])
}
}
Thanks.