Rich Notification: Was es ist, Medieninhalte und Erstellung von Benachrichtigungen

Autor: IT Sectr Veröffentlicht: 2026-03-20 Lesezeit: 8 Min.

Rich Notification ist ein erweitertes Format von iOS-Push-Benachrichtigungen, das Medienanhänge, interaktive Schaltflächen und benutzerdefinierte Oberflächen zur Verbesserung der Benutzererfahrung umfasst. Im Gegensatz zu Standardtextbenachrichtigungen kann Rich Notification Bilder, Videos und Audio direkt im Banner oder auf dem Sperrbildschirm anzeigen. Laut Apple Developer Documentation, 2026 unterstützt UNNotificationAttachment bis zu 10 Dateien in einer einzigen Benachrichtigung und skaliert sie automatisch für eine optimale Anzeige auf allen Geräten.

Wichtigste Erkenntnisse

  • Medienanhänge — Rich Notification unterstützt Bilder (JPEG, PNG, GIF), Video (MP4, MOV bis zu 30 Sekunden) und Audio (MP3, AAC, WAV) über UNNotificationAttachment.
  • Interaktivität — Schaltflächen und Texteingabe werden über UNNotificationAction und UNTextInputNotificationAction hinzugefügt, die an Benachrichtigungskategorien gebunden sind.
  • Service Extension — eine obligatorische Komponente zum Laden von Medien: Sie lädt den Anhang von der Payload-URL herunter und fügt ihn zum Inhalt hinzu.
  • Content Extension — erstellt eine vollständig benutzerdefinierte Benachrichtigungsoberfläche mit eigenem UI, Animationen und Gestensteuerung.
  • Grenzen — maximale Anhangsgröße 10 MB, Speicherbegrenzung der Erweiterung 50 MB, Verarbeitungszeit bis zu 30 Sekunden.

Was ist Rich Notification

Rich Notification ist eine iOS-Push-Benachrichtigung, die nicht nur Text, sondern auch Medienanhänge, interaktive Elemente und eine angepasste Oberfläche enthält. Der Begriff „rich“ (reichhaltig) spiegelt die Fähigkeit wider, Bilder, Videos, Audio, Aktionsschaltflächen und Texteingabe in eine Benachrichtigung aufzunehmen und so eine einfache Warnung in ein vollwertiges interaktives Element zu verwandeln.

Entwicklung von Benachrichtigungen in iOS

Apple führte die Unterstützung für Rich Notification in iOS 10 zusammen mit dem UserNotifications-Framework ein. Davor konnten Push-Benachrichtigungen nur Text, Ton und ein Badge enthalten. iOS 10 führte UNNotificationServiceExtension und UNNotificationContentExtension ein, die die Möglichkeit eröffneten, Inhalte zu ändern und benutzerdefinierte Oberflächen zu erstellen. Spätere Versionen fügten SwiftUI-Unterstützung in Content Extension, animierte GIFs und verbesserte Medienskalierung hinzu.

Vorteile gegenüber Standardbenachrichtigungen

Rich Notification steigert die Benutzerinteraktion erheblich. Studien von Apple zeigen, dass Benachrichtigungen mit Bildern 30–40% mehr Interaktionen erhalten als reine Textbenachrichtigungen. Ein Produktbild, eine Videonachricht oder eine Schnellantwort-Schaltfläche ermöglichen es dem Benutzer, direkt aus der Benachrichtigung heraus eine Entscheidung zu treffen, ohne die App zu öffnen. Dies verkürzt den Weg zur Zielaktion und verbessert die Benutzererfahrung.

Arten von Medienanhängen und ihre Formate

UNNotificationAttachment unterstützt drei Medienkategorien: Bilder, Video und Audio. Jeder Typ hat seine eigenen Format-, Größen- und Dauerbeschränkungen. Das System skaliert Bilder automatisch auf die Benachrichtigungsgröße und begrenzt die Videodauer auf 30 Sekunden zur Leistungsoptimierung.

MedientypUnterstützte FormateMaximale Größe
BilderJPEG, PNG, GIF, TIFF10 MB pro Datei
VideoMPEG, MP4, MOV10 MB, bis zu 30 Sekunden
AudioMP3, AAC, WAV, CAF10 MB

Bilder und animierte GIFs

Bilder werden vom System automatisch zugeschnitten und skaliert, um in kompakten und erweiterten Benachrichtigungsansichten angezeigt zu werden. Animierte GIFs werden ab iOS 12 unterstützt und beim Anzeigen der Benachrichtigung automatisch abgespielt. Die empfohlene Bildgröße beträgt 1024x1024 Pixel, was eine scharfe Anzeige auf allen Geräten einschließlich iPad mit großem Bildschirm gewährleistet.

Video- und Audioanhänge

Video in Rich Notification wird standardmäßig ohne Ton abgespielt — der Benutzer kann den Ton über die Player-Schaltfläche aktivieren. Die maximale Videodauer beträgt 30 Sekunden, danach wird die Wiedergabe gestoppt. Audioanhänge können für Sprachnachrichten oder Soundvorschauen verwendet werden und werden beim Antippen der Benachrichtigung in der erweiterten Ansicht abgespielt.

Interaktive Schaltflächen und Aktionen

Interaktive Aktionen ermöglichen es dem Benutzer, Operationen direkt aus der Benachrichtigung heraus durchzuführen, ohne die App zu öffnen. Aktionen werden beim App-Start über UNNotificationCategory und UNNotificationAction registriert. Jede Aktion kann im Hintergrund (ohne Öffnen der App) oder im Vordergrund (öffnet die App zum Abschließen des Vorgangs) ausgeführt werden.

UNNotificationAction und UNTextInputNotificationAction

UNNotificationAction repräsentiert eine Schaltfläche mit einem Titel und optionalen Modifikatoren wie requiresAuthentication (erfordert Face ID/Touch ID) oder destructive (rot hervorgehoben). UNTextInputNotificationAction erweitert diese Fähigkeit um ein Texteingabefeld — ideal für schnelle Antworten auf Nachrichten oder Kommentare. Aktionen werden bei langem Drücken der Benachrichtigung oder beim Wischen nach unten angezeigt.

Registrieren von Kategorien und Aktionen

Benachrichtigungskategorien verknüpfen den Inhaltstyp mit einem Satz verfügbarer Aktionen. Der Registrierungsprozess wird in AppDelegate beim App-Start über UNUserNotificationCenter.current().setNotificationCategories durchgeführt. Die Kategorie wird auf dem Server im category-Feld des JSON-Payloads angegeben, und das System wendet automatisch den entsprechenden Aktionssatz auf die Benachrichtigung an.

Behandlung von Aktions-Taps

Wenn der Benutzer eine Schaltfläche antippt oder Text sendet, ruft das System den UNUserNotificationCenterDelegate mit der Methode didReceive response auf. UNNotificationResponse enthält die Aktionskennung und den eingegebenen Text (für UNTextInputNotificationAction). Basierend auf diesen Informationen führt die App die entsprechende Geschäftslogik aus: sendet eine Nachricht, bestätigt eine Aktion oder öffnet einen bestimmten Bildschirm.

Implementierung von Rich Notification in Swift

Lassen Sie uns den gesamten Erstellungszyklus von Rich Notification durchgehen: von der Registrierung von Kategorien in AppDelegate über die Verarbeitung in Service Extension bis zur Anzeige. AppDelegate registriert die Kategorie mit Schaltflächen, der Server sendet eine Benachrichtigung mit einer Bild-URL, Service Extension lädt die Medien herunter, und Content Extension zeigt eine benutzerdefinierte Oberfläche mit Schaltflächen an.

swift
// AppDelegate — Registrierung von Kategorien und Aktionen
func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions:
    [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {

    let replyAction = UNTextInputNotificationAction(
        identifier: "reply",
        title: "Antworten",
        options: [.authenticationRequired])

    let likeAction = UNNotificationAction(
        identifier: "like",
        title: "Gefällt mir",
        options: [])

    let category = UNNotificationCategory(
        identifier: "social_post",
        actions: [replyAction, likeAction],
        intentIdentifiers: [],
        options: [])

    UNUserNotificationCenter.current()
        .setNotificationCategories([category])
    return true
}

Service Extension zum Laden von Bildern

Nach dem Empfang einer Push-Benachrichtigung mit der Kategorie „social_post“ und einer Bild-URL in einem benutzerdefinierten Feld wird die Service Extension aktiviert. Die Erweiterung lädt das Bild herunter aus dem Netzwerk, erstellt eine UNNotificationAttachment mit einer eindeutigen Kennung und fügt sie zum Inhalt hinzu. Es ist wichtig, die Größe der heruntergeladenen Datei zu überprüfen — wenn sie 10 MB überschreitet, wird der Anhang nicht erstellt, und das System zeigt die Benachrichtigung ohne Medien an.

swift
class NotificationService: UNNotificationServiceExtension {

    override func didReceive(
        _ request: UNNotificationRequest,
        withContentHandler contentHandler:
        @escaping (UNNotificationContent) -> Void
    ) {
        let content = (request.content.mutableCopy()
            as! UNMutableNotificationContent)
        guard let urlString = content.userInfo["media-url"]
            as? String,
            let url = URL(string: urlString)
        else { contentHandler(request.content); return }

        URLSession.shared.downloadTask(with: url) {
            location, _, _ in
            guard let location = location else {
                contentHandler(content); return }
            let attachment = try! UNNotificationAttachment(
                identifier: "media", url: location,
                options: [UNNotificationAttachmentOptionsTypeHintKey:
                    "jpg"])
            content.attachments = [attachment]
            contentHandler(content)
        }.resume()
    }
}

Testen von Rich Notification

Um Rich Notification ohne Server zu testen, verwenden Sie den iOS-Simulator und senden Sie Pushs über das Terminal mit xcrun simctl push. Geben Sie im Payload unbedingt mutable-content: 1 an, um die Service Extension zu aktivieren, und die Kategorie, um Aktionen anzuzeigen. Der Befehl sendet einen Push von einer JSON-Datei direkt an den ausgewählten Simulator, was eine schnelle Iteration ohne Einrichtung einer Serverinfrastruktur ermöglicht.

Content Extension und benutzerdefinierte Oberfläche

UNNotificationContentExtension ermöglicht es Ihnen, die Standardbenachrichtigungsoberfläche vollständig durch eine benutzerdefinierte UIKit- oder SwiftUI-Ansicht zu ersetzen. Die Erweiterung wird aktiviert, wenn der Benutzer die Benachrichtigung erweitert (Force Touch oder Wischen nach unten) und kann Schaltflächen, Schieberegler, Animationen und andere UI-Komponenten enthalten. Die Oberflächengröße passt sich mit Auto Layout an den Inhalt an.

Storyboard und SwiftUI in Content Extension

Content Extension basiert auf einem Storyboard mit einem View-Controller, der von UIViewController erbt. SwiftUI View wird ab iOS 16 über UIHostingController integriert, was moderne Ansätze zur Oberflächenerstellung ermöglicht. Für Abwärtskompatibilität mit iOS 14–15 wird die Verwendung von UIKit mit xib-Dateien empfohlen. Die Oberfläche erhält modifizierte Inhalte von Service Extension über UNNotificationContent.

Behandlung von Benutzeraktionen

Content Extension implementiert das UNNotificationContentExtension-Protokoll mit der Methode didReceive response. UNNotificationResponse enthält Informationen über die gedrückte Schaltfläche oder den eingegebenen Text. Die Erweiterung kann die Oberfläche aktualisieren, ohne die Benachrichtigung zu schließen, oder den Completion Handler aufrufen, um sie zu schließen. Dies ermöglicht die Erstellung schneller Interaktionsszenarien, wie z.B. ein „Gefällt mir“ mit visuellem Feedback direkt in der Benachrichtigung.

Designempfehlungen

Apple empfiehlt, Content Extension prägnant und funktional zu halten und übermäßige Elemente zu vermeiden. Die maximale Höhe der erweiterten Benachrichtigung beträgt etwa 400 Punkte, danach scrollt der Inhalt. Verwenden Sie Systemschriftarten und -abstände für Konsistenz mit anderen Benachrichtigungen. Testen Sie auf verschiedenen Bildschirmgrößen, um sicherzustellen, dass die Oberfläche sowohl auf iPhone als auch auf iPad korrekt angezeigt wird.

Häufig gestellte Fragen

Was ist die maximale Bildgröße in Rich Notification?

Die maximale Größe eines einzelnen Medienanhangs beträgt 10 MB. Bei Überschreitung des Limits wird UNNotificationAttachment nicht erstellt und die Benachrichtigung ohne Medien angezeigt. Es wird empfohlen, Bilder auf 1–3 MB zu optimieren für schnelles Laden in Service Extension.

Funktionieren Rich Notifications auf allen iPhone-Modellen?

Rich Notifications werden auf allen Geräten mit iOS 10 und höher unterstützt, einschließlich iPhone 5s und neuer. Content Extension mit benutzerdefinierter UI ist ab iOS 12 verfügbar. SwiftUI in Content Extension — ab iOS 16. Auf älteren Versionen wird die Benachrichtigung in Standardform angezeigt.

Kann GIF in Rich Notification verwendet werden?

Ja, animierte GIFs werden ab iOS 12 unterstützt. GIF wird wie ein normales Bild über UNNotificationAttachment geladen und beim Anzeigen der Benachrichtigung automatisch abgespielt. Die GIF-Größe ist auf dieselben 10 MB wie andere Formate begrenzt.

Wie viele Schaltflächen können zu einer Benachrichtigung hinzugefügt werden?

Maximal 4 Aktionen pro Benachrichtigung bei der Registrierung einer Kategorie. Bei mehr Angaben zeigt das System die ersten 4 an und ignoriert den Rest. Es wird empfohlen, 2–3 Schaltflächen für optimales UX zu verwenden — zu viele Optionen überladen die Oberfläche.

Ist ein Server zum Senden von Rich Notifications erforderlich?

Ja, der Server muss Pushs über APNS (Apple Push Notification service) mit einem JSON-Payload senden, der die Medien-URL in einem benutzerdefinierten Feld und das Flag mutable-content: 1 enthält. Der Server gibt auch die Kategorie an, um Content Extension und Aktionen zu aktivieren.

Zusammenfassung

  • Rich Notification — eine iOS-Push-Benachrichtigung mit Medienanhängen, interaktiven Schaltflächen und benutzerdefinierter UI, die die Benutzerinteraktion steigert.
  • Unterstützte Medien — JPEG/PNG/GIF-Bilder, MP4/MOV-Video (bis zu 30 s), MP3/AAC/WAV-Audio mit einem Limit von 10 MB pro Datei.
  • Service Extension lädt Medien von der Payload-URL herunter und fügt UNNotificationAttachment zum Benachrichtigungsinhalt hinzu.
  • Interaktive Aktionen — bis zu 4 Schaltflächen pro Kategorie, einschließlich Texteingabe über UNTextInputNotificationAction.
  • Content Extension ersetzt die Standardoberfläche durch eine benutzerdefinierte UIKit/SwiftUI-Ansicht mit beliebigen Elementen.
  • Content Extension implementiert das UNNotificationContentExtension-Protokoll mit der didReceive-Methode zur Behandlung von Taps und Aktualisierung der UI in Echtzeit.
  • Rich Notification erfordert Konfiguration auf allen Ebenen: Server (APNS), Service Extension (Medien laden) und AppDelegate (Kategorienregistrierung).

Wir entwickeln eine mobile Applikation schlüsselfertig

IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.

Projekt besprechen

Lesen Sie auch