[SWIFT] Depuis iOS 14, UNNotificationPresentationOptions ".alert" a été divisé en ".banner" et ".list"

introduction

Il y a un .alert dans les options d'affichage des notifications push (ʻUNNotificationPresentationOptions`), mais il est obsolète jusqu'à iOS 14. Au lieu de cela, il est divisé en «.banner» et «.list», et je les présenterai parce que j'ai étudié leur comportement.

environnement

Comportement de notification push

C'est comme indiqué dans le tableau ci-dessous.

Dans .alert, les notifications sont envoyées à la fois à la bannière et au centre de notification, mais à partir d'iOS 14, vous pouvez utiliser .banner et .list pour que les notifications ne parviennent qu'à l'un d'entre eux.

UNNotificationPresentationOptions bannière Centre de notification
.alert Simulator Screen Shot - iPhone SE (2nd generation) - 2020-09-29 at 13.56.50.png SimulatorScreenShot-iPhoneSE(2ndgeneration)-2020-09-29at13.56.34.png
.banner Simulator Screen Shot - iPhone SE (2nd generation) - 2020-09-29 at 13.56.50.png SimulatorScreenShot-iPhoneSE(2ndgeneration)-2020-09-29at13.57.48.png
.list Simulator Screen Shot - iPhone SE (2nd generation) - 2020-09-29 at 13.58.49.png SimulatorScreenShot-iPhoneSE(2ndgeneration)-2020-09-29at13.56.34.png

la mise en oeuvre

Si iOS 13 ou une version antérieure est toujours pris en charge, il est préférable de créer une branche par version du système d'exploitation.

AppDelegate.swift


extension AppDelegate: UNUserNotificationCenterDelegate {
    func userNotificationCenter(
        _ center: UNUserNotificationCenter,
        willPresent notification: UNNotification,
        withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
        if #available(iOS 14.0, *) {
            completionHandler([[.banner, .list, .sound]])
        } else {
            completionHandler([[.alert, .sound]])
        }
    }
}

Bonus: essayez les notifications push dans le simulateur

Les articles suivants ont aidé à envoyer des notifications push au simulateur iOS. https://qiita.com/koogawa/items/85c0dd0abd2f1970c5fc

Grâce à cet article, j'ai pu facilement envoyer des notifications push et les essayer.

en conclusion

Depuis iOS 14, nous avons constaté que nous avions plus de contrôle sur l'affichage des notifications. En spécifiant uniquement .list, il peut être utilisé comme une notification silencieuse Android, et il semble pratique de le maîtriser.

Si vous le trouvez utile, faites-le nous savoir dans les commentaires: détendu:

Lien de référence

Recommended Posts

Depuis iOS 14, UNNotificationPresentationOptions ".alert" a été divisé en ".banner" et ".list"