Interactive Notification — is een pushmelding met interactieve elementen waarmee u een actie kunt uitvoeren zonder de app te openen. Volgens Apple Human Interface Guidelines (2025) verminderen dergelijke meldingen het aantal stappen naar de doelactie met 40%. Actieknoppen en invoervelden geven de gebruiker de mogelijkheid om te reageren op een bericht, een abonnement te betalen of een reservering te bevestigen direct vanuit het meldingenpaneel, zonder de app te openen.
Belangrijkste
Interactive Notification — is een uitgebreid formaat van pushmelding dat interactieve bedieningselementen bevat: knoppen, schakelaars en tekstinvoervelden. In tegenstelling tot een standaardmelding die alleen informeert, stelt een interactieve melding de gebruiker in staat om de doelactie direct vanuit het paneel of het vergrendelingsscherm uit te voeren. Volgens Google Material Design (2025) worden interactieve meldingen door het besturingssysteem verwerkt zonder het hoofdproces van de app te starten — dit bespaart batterij en versnelt de reactie. De ontwikkelaar definieert de set acties via categorieën op iOS en kanalen op Android, en het systeem toont ze afhankelijk van de context.
Elke interactieve melding bestaat uit drie niveaus: hoofdinhoud (titel, body), acties (knoppen) en optionele tekstinvoer. Op iOS worden deze componenten gecombineerd via UNNotificationCategory, en op Android — via NotificationCompat.Action.Builder. Het systeem toont de knoppen onder de meldingstekst in ingeklapte of uitgevouwen vorm, afhankelijk van de OS-versie en tekstlengte. De gebruiker ziet de beschikbare acties direct na ontvangst van de melding en kan er een uitvoeren zonder naar de app te gaan.
Het werkingsmechanisme van Interactive Notification is verdeeld in twee fasen: registratie van categorieën bij het starten van de app en verwerking van de actie wanneer de gebruiker erop tikt. In de registratiefase maakt de ontwikkelaar categorieobjecten met een set acties — elke actie heeft een identifier, titel en opties. Bij ontvangst van een pushmelding koppelt het systeem deze aan de geregistreerde categorie via het categoryIdentifier-veld en voegt automatisch de bijbehorende knoppen toe. Wanneer de gebruiker op een knop tikt, roept het systeem de UNUserNotificationCenter-delegate of PendingIntent op Android aan met de actie-identifier en stuurt het resultaat terug naar de app. Volgens WWDC 2024 bedraagt de verwerkingstijd van een interactieve actie op iOS niet meer dan 200 ms bij correcte configuratie.
Interactieve meldingen worden onderverdeeld in drie hoofdtypen op basis van de interactiemethode: knopgebaseerd, tekstueel en multimediaal. Elk type lost zijn eigen taak op en wordt gebruikt in specifieke scenario’s. De keuze van het type hangt af van de context — hoe minder stappen de gebruiker nodig heeft, hoe hoger de conversie. Apple en Google raden aan om knoppen te gebruiken voor bevestiging, een invoerveld voor antwoorden en media voor voorbeeldweergave van inhoud.
Het meest voorkomende type — een melding met een of meer knoppen, die elk een vooraf gedefinieerde actie uitvoeren. Bijvoorbeeld knoppen «Accepteren» en «Weigeren» voor een agenda-evenement, «Vind ik leuk» en «Antwoorden» voor een bericht. Op iOS worden tot vier knoppen ondersteund, op Android — tot drie. Knoppen kunnen worden gegroepeerd op prioriteit: normaal en destructief (met bevestiging). Apple adviseert niet meer dan twee hoofdknoppen voor het gebruiksgemak op het vergrendelingsscherm.
RemoteInput — een technologie waarmee de gebruiker rechtstreeks in de melding tekst kan invoeren zonder de app te openen. Op iOS wordt hiervoor UNTextInputNotificationAction gebruikt, op Android — RemoteInput.Builder met een sleutel voor het ophalen van de ingevoerde tekst. Meestal gebruikt in berichtenapps voor snel antwoorden op een bericht. De ingevoerde tekst wordt via de meldingenservice of een lokale handler naar de app gestuurd. Beperking — de tekst mag geen opmaak bevatten, alleen een gewone string.
Meldingen met multimedia-bijlagen kunnen afbeeldingen, audio en video direct in het paneel weergeven. Op iOS wordt dit gerealiseerd via UNNotificationAttachment, op Android — via NotificationCompat.MessagingStyle met BigPictureStyle. Media wordt geladen door de server van de push-provider en samen met de melding als bijlage verzonden. De grootte van de bijlage is beperkt — Apple adviseert niet meer dan 10 MB, Google — niet meer dan 1 MB voor afbeeldingen. Multimedia-inhoud verhoogt de informatiewaarde van meldingen voor nieuws, marktplaatsen en sociale netwerken.
Op iOS wordt Interactive Notification geïmplementeerd via het UserNotifications-framework met UNNotificationCategory en UNNotificationAction. De app registreert de categorieën bij het opstarten, en bij ontvangst van een melding toont het systeem automatisch de bijbehorende knoppen. Voor het verwerken van acties moet de methode userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler worden geïmplementeerd. Hieronder staat een voorbeeld van het registreren van een categorie met een knop en tekstinvoer in Swift.
import UserNotifications
let replyAction = UNTextInputNotificationAction(
identifier: "reply",
title: "Antwoorden",
options: [.authenticationRequired],
textInputButtonTitle: "Verzenden",
textInputPlaceholder: "Typ een bericht..."
)
let category = UNNotificationCategory(
identifier: "message",
actions: [replyAction],
intentIdentifiers: [],
options: []
)
UNUserNotificationCenter.current()
.setNotificationCategories([category])
Na het aanroepen van setNotificationCategories slaat het systeem de categorieën op en gebruikt ze voor alle volgende meldingen. De code moet bij elke start van de app worden aangeroepen om de categorieën te synchroniseren met nieuwe versies. De verwerking van het antwoord gebeurt in de delegate van het meldingencentrum — de app ontvangt de actie-identifier en de ingevoerde tekst voor verdere verwerking.
func userNotificationCenter(
_ center: UNUserNotificationCenter,
didReceive response: UNNotificationResponse,
withCompletionHandler completion: @escaping VoidBlock
) {
if response.actionIdentifier == "reply" {
let textResponse = response as! UNTextInputNotificationResponse
let message = textResponse.userText
sendMessage(message)
}
completion()
}
De methode userNotificationCenter wordt door het systeem aangeroepen nadat de gebruiker op een knop heeft gedrukt of tekst heeft verzonden. In de handler wordt actionIdentifier gecontroleerd — als deze overeenkomt met de geregistreerde identifier, haalt de app de ingevoerde tekst uit userText en stuurt deze naar de server. Voor gewone knoppen zonder tekstinvoer wordt UNNotificationResponse zonder conversie gebruikt.
Op Android worden interactieve meldingen gemaakt via de klasse NotificationCompat met de methoden addAction en RemoteInput. In tegenstelling tot iOS vereist Android geen voorafgaande registratie van categorieën — acties worden direct aan elke melding toegevoegd via Builder. Dit biedt meer flexibiliteit: elke melding kan een unieke set knoppen hebben. Hieronder staat een voorbeeld van een melding met een antwoordknop in Java met RemoteInput.
RemoteInput remoteInput = new RemoteInput.Builder("key_reply")
.setLabel("Antwoorden")
.build();
PendingIntent replyIntent = PendingIntent.getBroadcast(
this, 1001,
new Intent("ACTION_REPLY"),
PendingIntent.FLAG_UPDATE_CURRENT
);
NotificationCompat.Action action =
new NotificationCompat.Action.Builder(
R.drawable.ic_reply,
"Antwoorden", replyIntent
)
.addRemoteInput(remoteInput)
.build();
NotificationCompat.Builder builder =
new NotificationCompat.Builder(this, "messages")
.setContentTitle("Nieuw bericht")
.setContentText("Hallo! Hoe gaat het?")
.setSmallIcon(R.drawable.ic_notification)
.addAction(action);
NotificationManagerCompat.from(this)
.notify(100, builder.build());
Het belangrijkste element is RemoteInput, dat het invoerveld aan de actie koppelt. Wanneer op de knop «Antwoorden» wordt gedrukt, opent het systeem een tekstinvoerdialoog in de melding. Na het verzenden wordt de tekst via Intent naar de BroadcastReceiver of Activity gestuurd volgens de opgegeven PendingIntent. Om de tekst in de ontvanger op te halen, wordt RemoteInput.getResultsFromIntent(intent) gebruikt met de sleutel «key_reply».
Bundle results = RemoteInput.getResultsFromIntent(intent);
if (results != null) {
CharSequence reply = results.getCharSequence("key_reply");
if (reply != null) {
sendReplyToServer(reply.toString());
}
}
De methode getResultsFromIntent haalt de door de gebruiker ingevoerde tekst op uit de Intent die door het systeem is verzonden bij het versturen van het antwoord. Het resultaat wordt geretourneerd als CharSequence, dat wordt omgezet in een string voor verzending naar de server. Als de gebruiker de invoerdialoog heeft gesloten zonder te verzenden, is results leeg — hiermee moet rekening worden gehouden bij de verwerking. Deze aanpak maakt snel antwoorden mogelijk zonder een Activity te starten.
Interactive Notification wordt toegepast in apps van elk type waar een snelle gebruikersactie nodig is. De meest effectieve scenario’s — berichtenapps voor het beantwoorden van een bericht, e-commerce voor het bevestigen van een bestelling en agenda’s voor het accepteren van een uitnodiging. Volgens Localytics (2025) vertonen apps met interactieve meldingen een 28% hogere retentie op dag 7. Hieronder staat een tabel met populaire scenario’s en platformkenmerken.
| Scenario | Acties | Platform |
|---|---|---|
| Berichtenapp | Antwoorden met tekst, Vind ik leuk | iOS + Android |
| E-commerce | Bevestigen, uitstellen, annuleren | iOS + Android |
| Agenda | Accepteren, weigeren, misschien | iOS |
| Nieuws | Opslaan, delen, openen | Android |
| Reservering | Bevestigen, verplaatsen, annuleren | iOS + Android |
Bij het ontwerpen van interactieve meldingen is het belangrijk rekening te houden met de beperking — de gebruiker kan de actie slechts eenmaal uitvoeren. Na het indrukken van een knop verdwijnt de melding of gaat deze over in de status «uitgevoerd». Daarom moet elke actie onomkeerbaar zijn of in een tweede stap om bevestiging vragen.
Veelgestelde vragen
Interactive Notification — is een pushmelding met knoppen, een invoerveld of een multimediabijlage waarmee de gebruiker een actie kan uitvoeren zonder de app te openen. Ondersteund op iOS via UserNotifications en op Android via NotificationCompat.
Een gewone melding informeert alleen — de gebruiker tikt en opent de app. Een interactieve melding bevat knoppen of een invoerveld en de actie wordt direct in het paneel uitgevoerd. Dit verkort de weg naar de doelactie en vermindert de belasting van de app.
Op iOS worden tot vier knoppen ondersteund, op Android — tot drie. Op Android worden twee knoppen weergegeven op het meldingenpaneel, de derde is beschikbaar in het uitklapmenu. Apple adviseert niet meer dan twee hoofdknoppen voor het gebruiksgemak op het vergrendelingsscherm.
Op iOS wordt UNTextInputNotificationAction gebruikt, op Android — RemoteInput.Builder met een sleutel. De gebruiker voert tekst in een dialoogvenster in de melding in en de app ontvangt deze via een delegate of Intent zonder een Activity te starten.
Het ontvangen van een pushmelding vereist een internetverbinding, maar de interactiviteit zelf (weergeven van knoppen, tekstinvoer) werkt offline. Het verzenden van het resultaat naar de server kan worden uitgesteld tot de verbinding is hersteld.
Samenvatting
We ontwikkelen een mobiele applicatie turnkey
IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.
Lees ook