Interactive Notification — egy push értesítés interaktív elemekkel, amely lehetővé teszi a művelet végrehajtását az alkalmazás megnyitása nélkül. A Apple Human Interface Guidelines (2025) szerint az ilyen értesítések 40%-kal csökkentik a célműveletig vezető lépések számát. Művelet gombok és beviteli mezők lehetővé teszik a felhasználó számára, hogy válaszoljon üzenetre, befizesse az előfizetést vagy megerősítse a foglalást közvetlenül az értesítési panelről, az alkalmazás megnyitása nélkül.
Főbb pontok
Interactive Notification — a push értesítés kibővített formátuma, amely interaktív vezérlőelemeket tartalmaz: gombokat, kapcsolókat és szövegbeviteli mezőket. Ellentétben a szabványos értesítéssel, amely csak tájékoztat, az interaktív lehetővé teszi a felhasználó számára, hogy a célműveletet közvetlenül a panelről vagy a zár képernyőről hajtsa végre. A Google Material Design (2025) szerint az interaktív értesítéseket az operációs rendszer dolgozza fel az alkalmazás fő folyamatának elindítása nélkül — ez energiát takarít meg és gyorsítja a választ. A fejlesztő kategóriákon keresztül iOS-en és csatornákon keresztül Androidon határozza meg a műveletek halmazát, a rendszer pedig a kontextustól függően jeleníti meg azokat.
Minden interaktív értesítés három szintből áll: fő tartalom (cím, törzs), műveletek (gombok) és opcionális szövegbevitel. iOS-en ezek a komponensek UNNotificationCategory-n keresztül, Androidon pedig NotificationCompat.Action.Builder-en keresztül kapcsolódnak össze. A rendszer az értesítés szövege alatt jeleníti meg a gombokat összecsukott vagy kiterjesztett formában, az operációs rendszer verziójától és a szöveg hosszától függően. A felhasználó az értesítés kézhez vétele után azonnal látja az elérhető műveleteket, és végrehajthat egyet anélkül, hogy belépne az alkalmazásba.
Az Interactive Notification működési mechanizmusa két fázisra oszlik: a kategóriák regisztrálására az alkalmazás indításakor és a művelet feldolgozására, amikor a felhasználó megnyom egy gombot. A regisztrációs fázisban a fejlesztő kategóriaobjektumokat hoz létre műveletek halmazával — minden művelet rendelkezik azonosítóval, címmel és opciókkal. Push értesítés fogadásakor a rendszer összeveti a categoryIdentifier mező alapján a regisztrált kategóriával, és automatikusan hozzáadja a megfelelő gombokat. Amikor a felhasználó megnyom egy gombot, a rendszer meghívja az UNUserNotificationCenter delegáltat vagy a PendingIntent-et Androidon a művelet azonosítójával és visszaküldi az eredményt az alkalmazásnak. A WWDC 2024 szerint az interaktív művelet feldolgozási ideje iOS-en nem haladja meg a 200 ms-t megfelelő konfigurációval.
Az interaktív értesítések három fő típusra oszlanak az interakció módja szerint: gombalapú, szöveges és multimédiás. Minden típus megoldja a saját feladatát, és meghatározott forgatókönyvekben alkalmazzák. A típus választása a kontextustól függ — minél kevesebb lépést igényel a felhasználótól, annál magasabb a konverzió. Az Apple és a Google a gombokat megerősítéshez, a beviteli mezőt válaszokhoz, a médiát pedig tartalom előnézethez ajánlja.
A leggyakoribb típus — értesítés egy vagy több gombbal, amelyek mindegyike előre meghatározott műveletet hajt végre. Például «Elfogadás» és «Elutasítás» gombok naptári eseményhez, «Like» és «Válasz» gombok üzenethez. iOS-en legfeljebb négy gomb, Androidon legfeljebb három gomb támogatott. A gombok prioritás szerint csoportosíthatók: normál és destruktív (megerősítéssel). Az Apple legfeljebb két fő gombot ajánl a felhasználó kényelme érdekében a zár képernyőn.
RemoteInput — technológia, amely lehetővé teszi a felhasználó számára, hogy közvetlenül az értesítésbe írjon szöveget az alkalmazás megnyitása nélkül. iOS-en UNTextInputNotificationAction-t, Androidon RemoteInput.Builder-t használnak egy kulccsal a bevitt szöveg kinyeréséhez. Leggyakrabban üzzenetküldő alkalmazásokban használják gyors válaszhoz. A bevitt szöveg az értesítési szolgáltatáson vagy egy helyi kezelőn keresztül jut el az alkalmazáshoz. Korlátozás — a szöveg nem tartalmazhat formázást, csak egyszerű string.
A multimédia mellékletekkel rendelkező értesítések képeket, hangot és videót jelenítenek meg közvetlenül a panelen. iOS-en ez UNNotificationAttachment-en keresztül, Androidon NotificationCompat.MessagingStyle-on keresztül BigPictureStyle-lal valósul meg. A médiát a push szolgáltató szervere tölti be és küldi el az értesítéssel együtt mellékletként. A melléklet mérete korlátozott — az Apple legfeljebb 10 MB-ot, a Google legfeljebb 1 MB-ot ajánl képekhez. A multimédia tartalom növeli az értesítések informatív értékét hírek, piacterek és közösségi média számára.
iOS-en az Interactive Notification a UserNotifications keretrendszeren keresztül valósul meg UNNotificationCategory és UNNotificationAction használatával. Az alkalmazás regisztrálja a kategóriákat indításkor, és értesítés fogadásakor a rendszer automatikusan megjeleníti a megfelelő gombokat. A műveletek feldolgozásához meg kell valósítani a userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler metódust. Alább egy példa egy kategória regisztrálására gombbal és szövegbevitellel Swift-ben.
import UserNotifications
let replyAction = UNTextInputNotificationAction(
identifier: "reply",
title: "Válasz",
options: [.authenticationRequired],
textInputButtonTitle: "Küldés",
textInputPlaceholder: "Írja be az üzenetet..."
)
let category = UNNotificationCategory(
identifier: "message",
actions: [replyAction],
intentIdentifiers: [],
options: []
)
UNUserNotificationCenter.current()
.setNotificationCategories([category])
A setNotificationCategories meghívása után a rendszer elmenti a kategóriákat és használja azokat minden későbbi értesítéshez. A kódot minden alkalmazásindításkor meg kell hívni, hogy a kategóriák szinkronizálódjanak az új verziókkal. A válasz feldolgozása az értesítési központ delegáltjában történik — az alkalmazás megkapja a művelet azonosítóját és a bevitt szöveget további feldolgozásra.
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()
}
A userNotificationCenter metódust a rendszer hívja meg, miután a felhasználó megnyomott egy gombot vagy szöveget küldött. A kezelőn belül ellenőrzésre kerül az actionIdentifier — ha megegyezik a regisztrált azonosítóval, az alkalmazás kinyeri a bevitt szöveget a userText-ből és elküldi a szerverre. Szokásos, szövegbevitel nélküli gombokhoz UNNotificationResponse használatos átalakítás nélkül.
Androidon az interaktív értesítések a NotificationCompat osztályon keresztül jönnek létre az addAction és RemoteInput metódusokkal. Az iOS-szel ellentétben az Android nem igényli a kategóriák előzetes regisztrálását — a műveletek közvetlenül minden értesítéshez hozzáadódnak a Builder-en keresztül. Ez nagyobb rugalmasságot biztosít: minden értesítésnek egyedi gombkészlete lehet. Alább egy példa egy válaszgombos értesítésre Java-ban RemoteInput használatával.
RemoteInput remoteInput = new RemoteInput.Builder("key_reply")
.setLabel("Válasz")
.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,
"Válasz", replyIntent
)
.addRemoteInput(remoteInput)
.build();
NotificationCompat.Builder builder =
new NotificationCompat.Builder(this, "messages")
.setContentTitle("Új üzenet")
.setContentText("Szia! Hogy vagy?")
.setSmallIcon(R.drawable.ic_notification)
.addAction(action);
NotificationManagerCompat.from(this)
.notify(100, builder.build());
A kulcselem a RemoteInput, amely összeköti a beviteli mezőt a művelettel. Amikor megnyomják a «Válasz» gombot, a rendszer megnyit egy szövegbeviteli párbeszédpanelt az értesítésen belül. Elküldés után a szöveg Intent-en keresztül jut el a BroadcastReceiver-be vagy Activity-be a megadott PendingIntent szerint. A szöveg fogadásához a vevőben a RemoteInput.getResultsFromIntent(intent) függvényt használjuk a «key_reply» kulccsal.
Bundle results = RemoteInput.getResultsFromIntent(intent);
if (results != null) {
CharSequence reply = results.getCharSequence("key_reply");
if (reply != null) {
sendReplyToServer(reply.toString());
}
}
A getResultsFromIntent metódus kinyeri a felhasználó által bevitt szöveget az Intent-ből, amelyet a rendszer a válasz elküldésekor továbbított. Az eredmény CharSequence-ként kerül visszaadásra, amely szöveggé alakítódik a szerverre történő elküldéshez. Ha a felhasználó elküldés nélkül bezárta a párbeszédpanelt, az results üres lesz — ezt figyelembe kell venni a feldolgozáskor. Ez a megközelítés gyors választ tesz lehetővé az Activity elindítása nélkül.
Interactive Notification bármilyen típusú alkalmazásban alkalmazható, ahol gyors felhasználói műveletre van szükség. A leghatékonyabb forgatókönyvek — üzenetküldő alkalmazások üzenetre válaszoláshoz, e-kereskedelem rendelés megerősítéséhez és naptárak meghívó elfogadásához. A Localytics (2025) szerint az interaktív értesítésekkel rendelkező alkalmazások 28%-kal magasabb retenciót mutatnak a 7. napon. Alább egy táblázat látható a népszerű forgatókönyvekkel és platformjellemzőkkel.
| Forgatókönyv | Műveletek | Platform |
|---|---|---|
| Üzenetküldő | Válasz szöveggel, Like | iOS + Android |
| E-kereskedelem | Megerősítés, elhalasztás, lemondás | iOS + Android |
| Naptár | Elfogadás, elutasítás, talán | iOS |
| Hírek | Mentés, megosztás, megnyitás | Android |
| Foglalás | Megerősítés, átütemezés, lemondás | iOS + Android |
Az interaktív értesítések tervezésekor fontos figyelembe venni a korlátozást — a felhasználó csak egyszer hajthatja végre a műveletet. A gomb megnyomása után az értesítés eltűnik vagy «végrehajtva» állapotba kerül. Ezért minden műveletnek visszafordíthatatlannak kell lennie, vagy második lépésben kell megerősítést kérnie.
Gyakran Ismételt Kérdések
Interactive Notification — egy push értesítés gombokkal, beviteli mezővel vagy multimédia melléklettel, amely lehetővé teszi a felhasználó számára a művelet végrehajtását az alkalmazás megnyitása nélkül. Támogatott iOS-en a UserNotifications és Androidon a NotificationCompat segítségével.
A szokásos értesítés csak tájékoztat — a felhasználó megnyomja és megnyitja az alkalmazást. Az interaktív értesítés gombokat vagy beviteli mezőt tartalmaz, és a művelet közvetlenül a panelen történik. Ez lerövidíti a célművelethez vezető utat és csökkenti az alkalmazás terhelését.
iOS legfeljebb négy gombot, Android legfeljebb három gombot támogat. Androidon két gomb jelenik meg az értesítési panelen, a harmadik a legördülő menüben érhető el. Az Apple legfeljebb két fő gombot ajánl a felhasználó kényelme érdekében a zár képernyőn.
iOS-en UNTextInputNotificationAction használandó, Androidon RemoteInput.Builder egy kulccsal. A felhasználó szöveget ír be egy párbeszédablakba az értesítésen belül, és az alkalmazás delegálton vagy Intent-en keresztül kapja meg az Activity elindítása nélkül.
A push értesítés fogadása internetkapcsolatot igényel, de maga az interaktivitás (gombok megjelenítése, szövegbevitel) offline működik. Az eredmény szerverre történő küldése a kapcsolat helyreállításáig elhalasztható.
Összefoglalás
Kulcsrakész mobilalkalmazást fejlesztünk
Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.
Olvassa el is