Notification Action mobilos alkalmazásokban: mi ez, típusok és beállítás

Szerző: IT Sectr Megjelenés: 2026-03-21 Olvasási idő: 8 perc

Notification Action — interaktív gombok és beviteli mezők, amelyek közvetlenül a push értesítésben jelennek meg, és lehetővé teszik a felhasználó számára, hogy az alkalmazás megnyitása nélkül végezzen el egy műveletet. Ez a felhasználói élmény kulcseleme, amely lerövidíti a cél képernyőhöz vezető utat. A Android Developers, 2025 adatai szerint a Notification Action akár 40%-kal is növeli a felhasználói elköteleződést az interakció súrlódásának csökkentésével.

Főbb pontok

  • Notification Action — interaktív elem a push értesítésben a feladatok gyors elvégzéséhez.
  • Androidon a műveletek PendingIntent és NotificationCompat.Action.Builder segítségével valósulnak meg.
  • iOS-en a műveletek UNNotificationAction és UNNotificationCategory segítségével konfigurálhatók.
  • Támogatottak a gombok, szövegbevitel, „elkészült“ jelölés és késleltetett műveletek.
  • Minden műveletet az alkalmazás callback-jében kell kezelni kattintáskor.

Mi az a Notification Action

Notification Action — egy interaktív felületelem, amelyet push értesítéshez adnak hozzá egy adott művelet végrehajtásához. A felhasználó válaszolhat üzenetre, megerősíthet egy feladatot, vagy megnyithat egy adott képernyőt anélkül, hogy belépne az alkalmazásba. A műveletek gombokként jelennek meg az értesítés szövege alatt, vagy kibővített nézetben húzáskor.

Miért van szükség műveletekre az értesítésekben

A Notification Action fő célja, hogy csökkentse a felhasználó által a cél eléréséhez szükséges lépések számát. Ahelyett, hogy megnyitná az alkalmazást és a kívánt képernyőre navigálna, a felhasználó egyetlen gombra kattint. A kutatások azt mutatják, hogy az interaktív értesítésekkel rendelkező alkalmazások 25–40%-kal magasabb elköteleződési szintet érnek el az egyszerű értesítésekhez képest.

Vizuális megjelenítés különböző platformokon

Androidon a Notification Action ikon-gombokként jelenik meg az összecsukott nézetben és szöveges gombokként a kibővített módban. iOS-en a műveletek az értesítés hosszú megnyomásával vagy balra húzással jelennek meg. Minden platformnak megvannak a saját ajánlásai a műveletek számára — Android legfeljebb 3-at, iOS legfeljebb 4-et ajánl.

PlatformMax. műveletMegjelenítés módjaMűvelettípusok
Android3Ikonok + szövegGombok, szövegbevitel
iOS4Hosszú nyomás / húzásGombok, szövegbevitel

Notification Action Androidon

Androidon a Notification Action a NotificationCompat.Builder segítségével, az addAction() metódus használatával jön létre. Minden művelet tartalmaz egy ikont, szöveget és egy PendingIntent-et, amely kattintáskor aktiválódik. Az Android 7.0-tól (API 24) kezdve a RemoteInput-on keresztül történő közvetlen szövegbevitel is támogatott.

Alap művelet létrehozása

Egy gomb létrehozásához az értesítésben meg kell határozni egy PendingIntent-et, amely kattintáskor elindul. A PendingIntent megnyithat egy Activity-t, elindíthat egy Service-t vagy BroadcastReceiver-t. A művelet ikonjának monokrómnak kell lennie és meg kell felelnie a Material Design-nak.

kotlin
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("Megerősítési kérelem")
    .setContentText("Erősítse meg a feladat végrehajtását")
    .addAction(R.drawable.ic_accept, "Megerősítés", acceptPendingIntent)
    .build()

Művelet szövegbevitellel (RemoteInput)

Azokban a forgatókönyvekben, ahol szövegbevitelre van szükség (például üzenetre válasz), az Android RemoteInput-ot biztosít. A felhasználó közvetlenül az értesítésbe írja be a szöveget, és az alkalmazás anélkül kapja meg, hogy megnyitná az Activity-t. A RemoteInput Android 7.0+-tól támogatott, és explicit kezelést igényel a BroadcastReceiver-ben vagy Service-ben.

kotlin
val remoteInput = RemoteInput.Builder("reply_input")
    .setLabel("Írja be a választ")
    .build()

val replyAction = NotificationCompat.Action.Builder(
    R.drawable.ic_reply, "Válasz", replyPendingIntent
)
    .addRemoteInput(remoteInput)
    .build()

val notification = NotificationCompat.Builder(context, CHANNEL_ID)
    .addAction(replyAction)
    .build()

Műveletek kezelése Androidon

Amikor a felhasználó egy műveletre kattint, a rendszer elindítja a megadott PendingIntent-et. A RemoteInput-ból beírt szöveg lekéréséhez hívja a RemoteInput.getResultsFromIntent(intent) függvényt. Ajánlott a műveleteket IntentService-ben vagy WorkManager-ben kezelni, hogy ne blokkolja az UI szálat.

Notification Action iOS-en

iOS-en a Notification Action a UserNotifications keretrendszeren keresztül valósul meg. A fejlesztő műveletkategóriákat (UNNotificationCategory) hoz létre és regisztrálja őket az alkalmazás indításakor. Minden műveletet egy UNNotificationAction objektum határoz meg egyedi azonosítóval.

Kategóriák és műveletek konfigurálása iOS-en

Ahhoz, hogy műveleteket adjon hozzá a push értesítésekhez iOS-en, létre kell hoznia egy kategóriát, amely csoportosítja a kapcsolódó műveleteket. A kategóriát az értesítés adatcsomagjában a category mező segítségével adják meg. Az értesítés fogadásakor a rendszer megjeleníti a megadott kategóriából elérhető műveleteket.

swift
import UserNotifications

class NotificationSetup {

    func registerNotificationCategories() {
        let approveAction = UNNotificationAction(
            identifier: "APPROVE_ACTION",
            title: "Megerősítés",
            options: [.foreground]
        )

        let declineAction = UNNotificationAction(
            identifier: "DECLINE_ACTION",
            title: "Elutasítás",
            options: [.destructive]
        )

        let category = UNNotificationCategory(
            identifier: "REQUEST_CATEGORY",
            actions: [approveAction, declineAction],
            intentIdentifiers: [],
            options: []
        )

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

Műveletek kezelése iOS-en

Amikor a felhasználó egy műveletre kattint, a rendszer meghívja a userNotificationCenter:didReceiveNotificationResponse metódust az UNUserNotificationCenter delegáltjában. A response.actionIdentifier tartalmazza a végrehajtott művelet azonosítóját. Szövegbevitelhez az UNTextInputNotificationAction használható, amely biztosítja a felhasználó által beírt szöveget.

swift
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 típusok és forgatókönyvek

Notification Action az interakció típusa és a használati forgatókönyv szerint osztályozható. A művelettípus helyes megválasztása közvetlenül befolyásolja a felhasználói élményt és a célműveletre való konverziót.

Alkalmazást indító gombok

A leggyakoribb típus — egy gomb, amely az alkalmazást egy adott képernyőn nyitja meg. Androidon a PendingIntent.getActivity() használatos, iOS-en a .foreground opció az UNNotificationAction számára. Olyan műveleteknél alkalmazzák, amelyek teljes interfászt igényelnek, például rendelési részletek megtekintése.

Háttérműveletek

Olyan műveletek, amelyek az alkalmazás megnyitása nélkül hajthatók végre. Androidon PendingIntent.getBroadcast() vagy PendingIntent.getService() használatos. iOS-en — .authenticationRequired opció vagy .foreground nélkül. Példák: feladat elkészültként való megjelölése, bejegyzés kedvelése, hozzáadás a kedvencekhez.

Szövegbevitel

Lehetővé teszi a felhasználó számára, hogy közvetlenül az értesítésbe írjon be szöveget. Androidon RemoteInput-on keresztül, iOS-en az UNTextInputNotificationAction segítségével valósul meg. Üzenetekre adott válaszokhoz, hozzászólásokhoz, egyszeri megerősítő kódok beviteléhez használható.

Romboló műveletek

Olyan műveletek, amelyek visszafordíthatatlanul módosítják az adatokat — törlés, elutasítás, blokkolás. Androidon vizuálisan kiemelkednek (piros szín néhány rendszerben), iOS-en a .destructive opciót igénylik. Javasolt megerősítést kérni a romboló műveletekhez, például egy további párbeszédablakon vagy második kattintással.

Beviteli műveletek szövegbevitellel

A műveletek külálló osztálya — szövegbevitel közvetlenül az értesítésből. Androidon RemoteInput segítségével, PendingIntent-tel kombinálva valósul meg. iOS-en az UNNotificationAction-ből származó UNTextInputNotificationAction használatos. Az ilyen műveleteket gyors válaszokhoz használják üzenetküldőkben, promóciós kódok beviteléhez, visszajelzési űrlapok kitöltéséhez vagy a szolgáltatás minőségének értékeléséhez. A beírt szöveget a rendszer a művelet azonosítójával együtt továbbítja az alkalmazásnak. A szövegbevitel helyes kezeléséhez mindkét platformon implementálni kell a beírt adatok elemzését és érvényesítését a célművelet végrehajtása előtt.

Kattintások kezelése és naplózás

A Notification Action helyes kezelése kritikus fontosságú a analitika és a felhasználói élmény szempontjából. Minden kattintást naplózni kell, és a műveletet megbízhatóan végre kell hajtani, még akkor is, ha az alkalmazás be volt zárva.

Analitika és követés

Kövesse a Notification Action minden kattintását az analitikai rendszeren keresztül. A Firebase Analytics, Mixpanel vagy Yandex.Metrica lehetővé teszi a művelet azonosítójának, a kattintás időpontjának és az értesítés kontextusának rögzítését. Ezek az adatok segítenek optimalizálni az értesítési stratégiát és növelni az elköteleződést. Az A/B tesztelés különböző műveletkészletekkel segít meghatározni a leghatékonyabb felhasználói interakciós forgatókönyveket.

Megbízható kezelés zárt alkalmazás esetén

Ha az alkalmazás be van zárva, a rendszer továbbra is elküldi az Intentet vagy UNNotificationResponse-t a műveletre történő kattintáskor. Androidon használjon BroadcastReceiver-t a garantált kezeléshez. iOS-en a rendszer elindítja az alkalmazást a háttérben és továbbítja a választ a delegáltnak. Kritikus műveleteknél (fizetés megerősítése, hitelesítés) adjon hozzá újrapróbálkózási mechanizmust és értesítést a felhasználó számára a sikeres végrehajtásról.

Gombok vizuális testreszabása Androidon

Az Android 7.0-tól kezdve a fejlesztő befolyásolhatja a Notification Action megjelenítését ikonok és színek segítségével. Az ikonoknak monokrómnak kell lenniük (alfa csatorna), méretük 24x24 dp. iOS-en a gombok testreszabása korlátozott — rendszerszínek és betűtípusok használhatók. A Material Design a műveletek prioritás szerinti csoportosítását ajánlja: a legfontosabb művelet elsőként, a rombolók utoljára.

Gyakran ismételt kérdések

Hány művelet adható hozzá egyetlen értesítéshez?

Androidon legfeljebb 3 művelet ajánlott, iOS-en legfeljebb 4. A korlát túllépése oda vezet, hogy néhány művelet nem jelenik meg, vagy elrejtődik az almenüben.

Hogyan adható hozzá ikon a Notification Action-höz Androidon?

Az ikon a NotificationCompat.Action.Builder számára drawable erőforrásként kerül átadásra. Az ikonnak monokrómnak (alfa csatorna), 24x24 dp méretűnek kell lennie, és meg kell felelnie a Material Design irányelveinek.

Működnek a Notification Action-ok a lezárt képernyőn?

Igen, ha az értesítés a lezárt képernyőn jelenik meg, és a visibility jelző VISIBILITY_PUBLIC értékre van állítva. iOS-en a .authenticationRequired opció szükséges a hitelesítést igénylő műveletekhez.

Hogyan kezelhető a műveletre történő kattintás, ha az alkalmazást eltávolították a memóriából?

Androidon a rendszer újra létrehozza a folyamatot és kézbesíti az Intentet. iOS-en a rendszer elindítja az alkalmazást a háttérben. A kézbesítés garantálható a BroadcastReceiver segítségével Androidon és az UNNotificationServiceExtension segítségével iOS-en.

Miben különbözik a művelet Androidon és iOS-en a felhasználói élmény szempontjából?

Androidon a műveletek azonnal láthatók az értesítés alatt ikonként. iOS-en a műveletek el vannak rejtve a hosszú nyomás vagy húzás mögött. Az értesítések UX-tervezésének figyelembe kell vennie ezeket a platformkülönbségeket.

Összefoglalás

  • Notification Action — gombok és beviteli mezők a push értesítésekben gyors interakcióhoz.
  • Androidon a műveletek NotificationCompat.Action segítségével jönnek létre PendingIntent-tel.
  • iOS-en a műveletek UNNotificationAction segítségével definiálhatók kategória regisztrációval.
  • Szövegbevitel RemoteInput (Android) vagy UNTextInputNotificationAction (iOS) segítségével valósul meg.
  • Maximális műveletszám — 3 Androidon, 4 iOS-en.
  • Minden műveletet naplózni kell az analitikai rendszerben az értesítések optimalizálásához.
  • Megbízható kezeléshez használjon BroadcastReceiver-t Androidon és AppDelegate-t iOS-en.

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.

Projekt megbeszélése

Olvassa el is