iOS
Extension pour notification Push enrichie - iOS 10.
Recherche…
Introduction
iOS 10 nous a donné UserNotifications.framework
, la nouvelle API pour les notifications locales / distantes. Il offre l'affichage des pièces jointes aux médias ou la réponse aux messages directement depuis la notification.
Le contenu de la notification est constitué de: titre, sous-titre, corps et pièce jointe. La pièce jointe peut contenir des images / gifs / vidéos jusqu'à 50 Mo.
Extension de contenu de notification
Pourquoi en avons-nous besoin?
L'extension de contenu nous aide à créer une interface utilisateur personnalisée lors de la diffusion des notifications.
Vous utilisez ce cadre pour définir une extension qui reçoit les données de notification et fournit la représentation visuelle correspondante. Votre extension peut également répondre aux actions personnalisées associées à ces notifications.
la mise en oeuvre
- Dans la fenêtre xCode
Navigator
, accédez à la sectionTargets
. Appuyez surAdd New Target
. - Sélectionnez le modèle d'
Notification Content Extension
:
- Dans votre fichier
info.plist
, définissez l'identificateur de la cléUNNotificationExtensionCategory
:
NSExtensionAttributes :
UNNotificationExtensionCategory
(Obligatoire)
La valeur de cette clé est une chaîne ou un tableau de chaînes. Chaque chaîne contient l'identificateur d'une catégorie déclarée par l'application à l'aide de la classe UNNotification Category.
UNNotificationExtensionInitialContentSizeRatio
(Obligatoire)
Nombre représentant la taille initiale de la vue de votre contrôleur de vue exprimée sous la forme d'un rapport entre sa hauteur et sa largeur.
UNNotificationExtensionDefaultContentHidden
(Facultatif)
Lorsqu'il est défini sur YES, le système affiche uniquement votre contrôleur d'affichage personnalisé dans l'interface de notification. Lorsqu'il est défini sur NO, le système affiche le contenu de la notification par défaut en plus du contenu de votre contrôleur de vue.
UNNotificationExtensionOverridesDefaultTitle
(Facultatif)
La valeur de cette clé est une valeur booléenne. Lorsqu'il est défini sur true, le système utilise la propriété title de votre contrôleur de vue comme titre de la notification. Lorsqu'il est défini sur false, le système définit le titre de la notification sur le nom de votre application. Si vous ne spécifiez pas cette clé, la valeur par défaut est définie sur false.
- Créer une vue personnalisée dans le fichier
NotificationViewController.swift
- Ajoutez une nouvelle
category key
et définissez sa valeur en fonction de ce que nous avons tapé dans Info.plist (étape 3):
Pousser:
{
aps: {
alert: { … },
category: 'io.swifting.notification-category'
}
}
Local:
let mutableNotificationContent = UNMutableNotificationContent()
mutableNotificationContent.category = "io.swifting.notification-category"
mutableNotificationContent.title = "Swifting.io Notifications"
mutableNotificationContent.subtitle = "Swifting.io presents"
mutableNotificationContent.body = "Custom notifications"
Consultez également la référence officielle de l'API: https://developer.apple.com/reference/usernotificationsui/unnotificationcontentextension?utm_source=swifting.io&utm_medium=web&utm_campaign=blog%20post