Passer au contenu principal
iOS fournit un protocole UNNotificationContentExtension comme point d’entrée pour une extension d’application de contenu de notification. Cela peut être utilisé pour afficher une interface personnalisée pour les notifications de votre application. Ce guide d’exemple explique comment l’utiliser pour créer un carrousel dans une notification iOS.

Image montrant un carrousel dans une notification push

1. Ajouter une extension de contenu de notification

00355f9-Screen_Shot_2020-11-30_at_9.32.26_PM

Dans Xcode, sélectionnez Fichier > Nouveau > Cible…
efd0fde-Screen_Shot_2020-11-30_at_3.10.58_PM

Sélectionnez “Notification Content Extension”
0a0fa6a-Screen_Shot_2020-11-30_at_6.44.46_PM

Confirmez la sélection dans la fenêtre qui apparaît
ActivateContentExtension

Sélectionnez activer pour déboguer

2. Ajouter du code à votre application

Téléchargez OSNotificationContentExtension depuis Github et remplacez le OSNotificationContentExtension dans votre projet Xcode par le même fichier de Github. Vous devriez voir les fichiers suivants ajoutés :

Fichiers sous Content Extension

3. Définir votre catégorie de notification

Cet exemple Déclare le type de notification actionnable dans le didFinishLaunchingWithOptions d’AppDelegate.swift.
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

    //START Authorize OS Notification Carousel Category
    if #available(iOS 10.0, *) {
        let options: UNAuthorizationOptions = [.alert]
        UNUserNotificationCenter.current().requestAuthorization(options: options) { (authorized, error) in
            if authorized {
                let categoryIdentifier = "OSNotificationCarousel"
                let carouselNext = UNNotificationAction(identifier: "OSNotificationCarousel.next", title: "👉", options: [])
                let carouselPrevious = UNNotificationAction(identifier: "OSNotificationCarousel.previous", title: "👈", options: [])
                let carouselCategory = UNNotificationCategory(identifier: categoryIdentifier, actions: [carouselNext, carouselPrevious], intentIdentifiers: [], options: [])
                UNUserNotificationCenter.current().setNotificationCategories([carouselCategory])
            }
        }
    }
    //END Authorize OS Notification Carousel Category

    return true
}

4. Envoyer votre notification push

Lors de l’envoi de messages push, vous pouvez définir la catégorie iOS et les données personnalisées.

Catégorie iOS

Utilisez OSNotificationCarousel comme catégorie iOS :
  • Tableau de bord
  • API
Définissez sous “Paramètres de plateforme” > Envoyer vers Apple iOS > “Catégorie”

Options de plateforme iOS sur le tableau de bord OneSignal

Données personnalisées

OneSignal n’a pas d’option pour télécharger plusieurs images par notification. Au lieu de cela, vous devez lister les URL d’images séparées par une virgule ,
  • Tableau de bord
  • API
Définissez sous “Paramètres avancés” > “Données supplémentaires”Pour la “Clé”, définissez images et pour la “Valeur”, définissez la liste d’URL séparées par des virgules sans guillemets.
Exemple, copier-coller :
https://cdn.pixabay.com/photo/2015/12/01/20/28/road-1072823_960_720.jpg,https://cdn.pixabay.com/photo/2013/11/28/10/36/road-220058_960_720.jpg,https://cdn.pixabay.com/photo/2012/08/27/14/19/mountains-55067_960_720.png,https://cdn.pixabay.com/photo/2015/01/28/23/35/landscape-615429_960_720.jpg,https://cdn.pixabay.com/photo/2016/05/05/02/37/sunset-1373171_960_720.jpg

Envoyer la notification push

Une fois que vous recevez la notification push, vous devrez appuyer longuement ou balayer vers la gauche et cliquer sur “Afficher” pour développer la notification selon la version iOS.

Lectures complémentaires