Notification Action — interaktive Schaltflächen und Eingabefelder, die direkt in einer Push-Benachrichtigung erscheinen und es dem Benutzer ermöglichen, eine Aktion auszuführen, ohne die App zu öffnen. Dies ist ein Schlüsselelement der Benutzererfahrung, das den Weg zum Zielbildschirm verkürzt. Laut Android Developers, 2025 erhöht Notification Action das Nutzerengagement um bis zu 40%, indem es die Reibung bei der Interaktion reduziert.
Wichtige Punkte
Notification Action ist ein interaktives Oberflächenelement, das einer Push-Benachrichtigung hinzugefügt wird, um eine bestimmte Aktion auszuführen. Der Benutzer kann auf eine Nachricht antworten, eine Aufgabe bestätigen oder einen bestimmten Bildschirm öffnen, ohne die App zu betreten. Aktionen werden als Schaltflächen unter dem Benachrichtigungstext oder in einer erweiterten Ansicht beim Wischen angezeigt.
Der Hauptzweck von Notification Action besteht darin, die Anzahl der Schritte zu reduzieren, die der Benutzer benötigt, um sein Ziel zu erreichen. Anstatt die App zu öffnen und zum gewünschten Bildschirm zu navigieren, drückt der Benutzer eine einzige Schaltfläche. Studien zeigen, dass Apps mit interaktiven Benachrichtigungen eine um 25–40% höhere Engagement-Rate aufweisen als einfache Benachrichtigungen.
Auf Android werden Notification Actions in der kompakten Ansicht als Symbol-Schaltflächen und im erweiterbaren Modus als Textschaltflächen angezeigt. Auf iOS erscheinen Aktionen bei langem Drücken der Benachrichtigung oder Wischen nach links. Jede Plattform hat eigene Empfehlungen zur Anzahl der Aktionen — Android empfiehlt maximal 3, iOS maximal 4.
| Plattform | Max. Aktionen | Anzeigemethode | Aktionsarten |
|---|---|---|---|
| Android | 3 | Symbole + Text | Schaltflächen, Texteingabe |
| iOS | 4 | Langes Drücken / Wischen | Schaltflächen, Texteingabe |
Auf Android werden Notification Actions über NotificationCompat.Builder mit der Methode addAction() erstellt. Jede Aktion enthält ein Symbol, Text und einen PendingIntent, der beim Antippen ausgelöst wird. Ab Android 7.0 (API 24) wird die direkte Texteingabe über RemoteInput unterstützt.
Zum Erstellen einer Schaltfläche in einer Benachrichtigung muss ein PendingIntent definiert werden, der beim Antippen gestartet wird. PendingIntent kann eine Activity öffnen, einen Service oder BroadcastReceiver starten. Das Aktionssymbol muss monochrom sein und den Material Design-Richtlinien entsprechen.
val acceptIntent = Intent(context, AcceptActionReceiver::class.java)
acceptIntent.putExtra("notification_id", notificationId)
val acceptPendingIntent = PendingIntent.getBroadcast(
context, requestCode,
acceptIntent, PendingIntent.FLAG_UPDATE_CURRENT
)
val notification = NotificationCompat.Builder(context, CHANNEL_ID)
.setSmallIcon(R.drawable.ic_notification)
.setContentTitle("Bestätigungsanfrage")
.setContentText("Bestätigen Sie die Aufgabenerledigung")
.addAction(R.drawable.ic_accept, "Bestätigen", acceptPendingIntent)
.build()
Für Szenarien, die eine Texteingabe erfordern (z. B. Antworten auf eine Nachricht), bietet Android RemoteInput. Der Benutzer gibt Text direkt in der Benachrichtigung ein, und die App empfängt ihn, ohne eine Activity zu öffnen. RemoteInput wird ab Android 7.0+ unterstützt und erfordert eine explizite Behandlung in einem BroadcastReceiver oder Service.
val remoteInput = RemoteInput.Builder("reply_input")
.setLabel("Antwort eingeben")
.build()
val replyAction = NotificationCompat.Action.Builder(
R.drawable.ic_reply, "Antworten", replyPendingIntent
)
.addRemoteInput(remoteInput)
.build()
val notification = NotificationCompat.Builder(context, CHANNEL_ID)
.addAction(replyAction)
.build()
Wenn eine Aktion angetippt wird, startet das System den angegebenen PendingIntent. Um den über RemoteInput eingegebenen Text abzurufen, rufen Sie RemoteInput.getResultsFromIntent(intent) auf. Es wird empfohlen, Aktionen in IntentService oder WorkManager zu verarbeiten, um den UI-Thread nicht zu blockieren.
Auf iOS werden Notification Actions über das UserNotifications-Framework implementiert. Der Entwickler erstellt Aktionskategorien (UNNotificationCategory) und registriert sie beim App-Start. Jede Aktion wird durch ein UNNotificationAction-Objekt mit einer eindeutigen Kennung definiert.
Um Aktionen zu Push-Benachrichtigungen auf iOS hinzuzufügen, muss eine Kategorie erstellt werden, die verwandte Aktionen gruppiert. Die Kategorie wird in der Nutzlast der Benachrichtigung über das Feld category angegeben. Beim Empfang einer Benachrichtigung zeigt das System verfügbare Aktionen aus der angegebenen Kategorie an.
import UserNotifications
class NotificationSetup {
func registerNotificationCategories() {
let approveAction = UNNotificationAction(
identifier: "APPROVE_ACTION",
title: "Genehmigen",
options: [.foreground]
)
let declineAction = UNNotificationAction(
identifier: "DECLINE_ACTION",
title: "Ablehnen",
options: [.destructive]
)
let category = UNNotificationCategory(
identifier: "REQUEST_CATEGORY",
actions: [approveAction, declineAction],
intentIdentifiers: [],
options: []
)
UNUserNotificationCenter.current()
.setNotificationCategories([category])
}
}
Wenn der Benutzer eine Aktion antippt, ruft das System die Methode userNotificationCenter:didReceiveNotificationResponse im Delegate von UNUserNotificationCenter auf. response.actionIdentifier enthält die Kennung der ausgeführten Aktion. Für Texteingabe wird UNTextInputNotificationAction verwendet, das den vom Benutzer eingegebenen Text bereitstellt.
extension AppDelegate: UNUserNotificationCenterDelegate {
func userNotificationCenter(
center: UNUserNotificationCenter,
didReceive response: UNNotificationResponse,
withCompletionHandler completionHandler: @escaping () -> Void
) {
switch response.actionIdentifier {
case "APPROVE_ACTION":
Log.d("Action: approved")
case "DECLINE_ACTION":
Log.d("Action: declined")
case UNNotificationDefaultActionIdentifier:
Log.d("Action: opened app")
default:
break
}
completionHandler()
}
}
Notification Action wird nach Interaktionstyp und Nutzungsszenario klassifiziert. Die richtige Wahl des Aktionstyps wirkt sich direkt auf die Benutzererfahrung und die Konversion zur Zielaktion aus.
Der häufigste Typ — eine Schaltfläche, die die App auf einem bestimmten Bildschirm öffnet. Auf Android wird PendingIntent.getActivity() verwendet, auf iOS — die Option .foreground von UNNotificationAction. Wird für Aktionen verwendet, die eine vollständige Oberfläche erfordern, wie das Anzeigen von Bestelldetails.
Aktionen, die ohne Öffnen der App ausgeführt werden. Auf Android wird PendingIntent.getBroadcast() oder PendingIntent.getService() verwendet. Auf iOS — die Option .authenticationRequired oder ohne .foreground. Beispiele: Aufgabe als erledigt markieren, Beitrag liken, zu Favoriten hinzufügen.
Ermöglicht dem Benutzer, Text direkt in der Benachrichtigung einzugeben. Auf Android implementiert über RemoteInput, auf iOS — über UNTextInputNotificationAction. Wird zum Beantworten von Nachrichten, Kommentaren und Eingeben von Einmal-Codes verwendet.
Aktionen, die Daten unwiderruflich ändern — Löschen, Ablehnen, Sperren. Auf Android werden sie visuell hervorgehoben (rote Farbe in einigen Systemen), auf iOS erfordern sie die Option .destructive. Es wird empfohlen, für destruktive Aktionen eine Bestätigung anzufordern, z. B. über einen zusätzlichen Dialog oder ein zweites Antippen.
Eine separate Klasse von Aktionen — Texteingabe direkt aus der Benachrichtigung. Auf Android wird dies über RemoteInput in Kombination mit PendingIntent implementiert. Auf iOS wird UNTextInputNotificationAction verwendet, das von UNNotificationAction erbt. Solche Aktionen werden für Schnellantworten in Messengern, Eingabe von Aktionscodes, Ausfüllen von Feedback-Formularen oder Bewertung der Servicequalität verwendet. Der eingegebene Text wird zusammen mit der Aktionskennung an die App übergeben. Für die korrekte Verarbeitung der Texteingabe auf beiden Plattformen müssen die eingegebenen Daten vor der Ausführung der Zielaktion geparst und validiert werden.
Die korrekte Verarbeitung von Notification Action ist entscheidend für Analytik und Benutzererfahrung. Jede Berührung muss protokolliert werden, und die Aktion muss zuverlässig ausgeführt werden, auch wenn die App geschlossen war.
Verfolgen Sie jede Notification Action-Berührung über Ihr Analytiksystem. Firebase Analytics, Mixpanel oder Yandex.Metrica ermöglichen die Aufzeichnung der Aktionskennung, des Zeitpunkts der Berührung und des Benachrichtigungskontexts. Diese Daten helfen, Ihre Benachrichtigungsstrategie zu optimieren und das Engagement zu steigern. A/B-Tests mit verschiedenen Aktionssätzen helfen, die effektivsten Interaktionsszenarien mit dem Benutzer zu identifizieren.
Wenn die App geschlossen ist, liefert das System dennoch den Intent oder UNNotificationResponse beim Antippen einer Aktion. Auf Android verwenden Sie einen BroadcastReceiver für garantierte Verarbeitung. Auf iOS startet das System die App im Hintergrund und übergibt die Antwort an den Delegate. Für kritische Aktionen (Zahlungsbestätigung, Autorisierung) fügen Sie einen Wiederholungsmechanismus hinzu und benachrichtigen Sie den Benutzer über den erfolgreichen Abschluss.
Ab Android 7.0 kann der Entwickler das Erscheinungsbild von Notification Action durch Symbole und Farben beeinflussen. Symbole müssen monochrom sein (Alpha-Kanal), Größe 24x24 dp. Auf iOS ist die Anpassung von Schaltflächen eingeschränkt — es werden Systemfarben und -schriftarten verwendet. Material Design empfiehlt, Aktionen nach Priorität zu gruppieren: die wichtigste Aktion zuerst, destruktive zuletzt.
Häufig gestellte Fragen
Android empfiehlt maximal 3 Aktionen, iOS — bis zu 4. Die Überschreitung des Limits führt dazu, dass einige Aktionen nicht angezeigt oder in einem Untermenü versteckt werden.
Das Symbol wird in NotificationCompat.Action.Builder als Drawable-Ressource übergeben. Das Symbol muss monochrom sein (Alpha-Kanal), Größe 24x24 dp und den Material Design-Richtlinien entsprechen.
Ja, wenn die Benachrichtigung auf dem gesperrten Bildschirm angezeigt wird und das visibility-Flag auf VISIBILITY_PUBLIC gesetzt ist. Auf iOS ist die Option .authenticationRequired für Aktionen erforderlich, die eine Autorisierung benötigen.
Auf Android erstellt das System den Prozess neu und liefert den Intent. Auf iOS startet das System die App im Hintergrund. Eine garantierte Zustellung kann auf Android mit BroadcastReceiver und auf iOS mit UNNotificationServiceExtension erreicht werden.
Auf Android sind Aktionen direkt unter der Benachrichtigung als Symbole sichtbar. Auf iOS sind Aktionen hinter langem Drücken oder Wischen versteckt. Das UX-Design von Benachrichtigungen muss diese Plattformunterschiede berücksichtigen.
Zusammenfassung
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.
Lesen Sie auch