iOS
Erweiterung für umfassende Push-Benachrichtigung - iOS 10.
Suche…
Einführung
iOS 10 gab uns UserNotifications.framework
, die neue API für lokale / Remote-Benachrichtigungen. Es bietet das Anzeigen von Medienanhängen oder das Beantworten von Nachrichten direkt aus der Benachrichtigung.
Der Benachrichtigungsinhalt besteht aus Titel, Untertitel, Text und Anhang. Anhänge können Bilder / Gifs / Videos bis zu 50 MB enthalten.
Benachrichtigungsinhalt-Erweiterung
Warum brauchen wir es?
Die Inhaltserweiterung hilft uns, eine benutzerdefinierte Benutzeroberfläche nach Benachrichtigungseinstellung zu erstellen.
Sie verwenden dieses Framework, um eine Erweiterung zu definieren, die die Benachrichtigungsdaten empfängt und die entsprechende visuelle Darstellung bereitstellt. Ihre Erweiterung kann auch auf benutzerdefinierte Aktionen reagieren, die mit diesen Benachrichtigungen verknüpft sind.
Implementierung
- Gehen Sie im xCode
Navigator
Fenster zum AbschnittTargets
. KlickenAdd New Target
. - Vorlage für
Notification Content Extension
auswählen:
-
info.plist
in Ihrerinfo.plist
Datei den Bezeichner für denUNNotificationExtensionCategory
Schlüssel fest:
NSExtensionAttributes :
UNNotificationExtensionCategory
(Erforderlich)
Der Wert dieses Schlüssels ist eine Zeichenfolge oder ein String-Array. Jede Zeichenfolge enthält den Bezeichner einer Kategorie, die von der App mithilfe der Klasse UNNotification Category deklariert wurde.
UNNotificationExtensionInitialContentSizeRatio
(Erforderlich)
Zahl, die die Anfangsgröße der Ansicht des View Controller darstellt, ausgedrückt als Verhältnis von Höhe zu Breite.
UNNotificationExtensionDefaultContentHidden
(optional)
Bei der Einstellung YES zeigt das System nur Ihren benutzerdefinierten View-Controller in der Benachrichtigungsoberfläche an. Bei NEIN zeigt das System den Standardbenachrichtigungsinhalt zusätzlich zum Inhalt Ihres View-Controllers an.
UNNotificationExtensionOverridesDefaultTitle
(optional)
Der Wert dieses Schlüssels ist ein Boolean. Bei der Einstellung true verwendet das System die title-Eigenschaft Ihres View-Controllers als Titel der Benachrichtigung. Bei Festlegung auf "false" setzt das System den Titel der Benachrichtigung auf den Namen Ihrer App. Wenn Sie diesen Schlüssel nicht angeben, wird der Standardwert auf "false" gesetzt.
- Erstellen Sie eine benutzerdefinierte Ansicht in der Datei
NotificationViewController.swift
- Fügen Sie einen neuen
category key
und setzen Sie seinen Wert auf das, was wir in der Info.plist (Schritt 3) eingegeben haben:
Drücken:
{
aps: {
alert: { … },
category: 'io.swifting.notification-category'
}
}
Lokal:
let mutableNotificationContent = UNMutableNotificationContent()
mutableNotificationContent.category = "io.swifting.notification-category"
mutableNotificationContent.title = "Swifting.io Notifications"
mutableNotificationContent.subtitle = "Swifting.io presents"
mutableNotificationContent.body = "Custom notifications"
Überprüfen Sie auch die offizielle API-Referenz: https://developer.apple.com/reference/usernotificationsui/unnotificationcontentextension?utm_source=swifting.io&utm_medium=web&utm_campaign=blog%20post