Notification Action v mobilních aplikacích: co to je, typy a nastavení

Autor: IT Sectr Publikováno: 2026-03-21 Doba čtení: 8 min

Notification Action — interaktivní tlačítka a vstupní pole, která se zobrazují přímo v push oznámení a umožňují uživateli provést akci bez otevření aplikace. To je klíčový prvek uživatelského zážitku, který zkracuje cestu k cílové obrazovce. Podle Android Developers, 2025 zvyšuje Notification Action zapojení uživatelů až o 40% díky snížení tření při interakci.

Hlavní body

  • Notification Action — interaktivní prvek v push oznámení pro rychlé provádění úkolů.
  • Na Androidu jsou akce implementovány prostřednictvím PendingIntent a NotificationCompat.Action.Builder.
  • Na iOS jsou akce konfigurovány prostřednictvím UNNotificationAction a UNNotificationCategory.
  • Podporována jsou tlačítka, textový vstup, označení jako „hotovo“ a odložené akce.
  • Každá akce musí být zpracována v callbacku aplikace při kliknutí.

Co je Notification Action

Notification Action — je interaktivní prvek rozhraní přidávaný do push oznámení k provedení konkrétní akce. Uživatel může odpovědět na zprávu, potvrdit úkol nebo otevřít konkrétní obrazovku bez vstupu do aplikace. Akce se zobrazují jako tlačítka pod textem oznámení nebo v rozšířeném zobrazení při potažení.

Proč jsou akce v oznámeních potřebné

Hlavním cílem Notification Action je snížit počet kroků, které uživatel potřebuje k dosažení svého cíle. Místo otevření aplikace a navigace na požadovanou obrazovku uživatel klikne na jediné tlačítko. Výzkumy ukazují, že aplikace s interaktivními oznámeními mají o 25–40% vyšší úroveň zapojení ve srovnání s běžnými oznámeními.

Vizuální zobrazení na různých platformách

Na Androidu se Notification Action zobrazují jako ikony-tlačítka v kompaktním zobrazení a jako textová tlačítka v rozšířeném režimu. Na iOS se akce objeví při dlouhém stisknutí oznámení nebo při potažení doleva. Každá platforma má svá vlastní doporučení ohledně počtu akcí — Android doporučuje maximálně 3, iOS maximálně 4.

PlatformaMax. akcíZpůsob zobrazeníTypy akcí
Android3Ikony + textTlačítka, textový vstup
iOS4Dlouhé stisknutí / potaženíTlačítka, textový vstup

Notification Action na Androidu

Na Androidu se Notification Action vytváří prostřednictvím NotificationCompat.Builder pomocí metody addAction(). Každá akce obsahuje ikonu, text a PendingIntent, který se spouští při kliknutí. Počínaje Androidem 7.0 (API 24) je podporován přímý textový vstup prostřednictvím RemoteInput.

Vytvoření základní akce

Pro vytvoření tlačítka v oznámení je třeba definovat PendingIntent, který se spustí při kliknutí. PendingIntent může otevřít Activity, spustit Service nebo BroadcastReceiver. Ikona akce musí být monochromní a odpovídat Material Design.

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("Žádost o potvrzení")
    .setContentText("Potvrďte provedení úkolu")
    .addAction(R.drawable.ic_accept, "Potvrdit", acceptPendingIntent)
    .build()

Akce s textovým vstupem (RemoteInput)

Pro scénáře vyžadující textový vstup (například odpověď na zprávu) poskytuje Android RemoteInput. Uživatel zadává text přímo do oznámení a aplikace jej obdrží bez otevření Activity. RemoteInput je podporován na Androidu 7.0+ a vyžaduje explicitní zpracování v BroadcastReceiver nebo Service.

kotlin
val remoteInput = RemoteInput.Builder("reply_input")
    .setLabel("Zadejte odpověď")
    .build()

val replyAction = NotificationCompat.Action.Builder(
    R.drawable.ic_reply, "Odpovědět", replyPendingIntent
)
    .addRemoteInput(remoteInput)
    .build()

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

Zpracování akcí na Androidu

Při kliknutí na akci systém spustí zadaný PendingIntent. Pro získání zadaného textu z RemoteInput zavolejte RemoteInput.getResultsFromIntent(intent). Doporučuje se zpracovávat akce v IntentService nebo WorkManager, aby nebylo blokováno vlákno UI.

Notification Action na iOS

Na iOS je Notification Action implementován prostřednictvím frameworku UserNotifications. Vývojář vytváří kategorie akcí (UNNotificationCategory) a registruje je při spuštění aplikace. Každá akce je definována objektem UNNotificationAction s jedinečným identifikátorem.

Konfigurace kategorií a akcí na iOS

Pro přidání akcí do push oznámení na iOS je třeba vytvořit kategorii, která sdružuje související akce. Kategorie je uvedena v nákladu oznámení prostřednictvím pole category. Po obdržení oznámení systém zobrazí dostupné akce z uvedené kategorie.

swift
import UserNotifications

class NotificationSetup {

    func registerNotificationCategories() {
        let approveAction = UNNotificationAction(
            identifier: "APPROVE_ACTION",
            title: "Potvrdit",
            options: [.foreground]
        )

        let declineAction = UNNotificationAction(
            identifier: "DECLINE_ACTION",
            title: "Odmítnout",
            options: [.destructive]
        )

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

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

Zpracování akcí na iOS

Když uživatel klikne na akci, systém zavolá metodu userNotificationCenter:didReceiveNotificationResponse v delegátovi UNUserNotificationCenter. response.actionIdentifier obsahuje identifikátor provedené akce. Pro textový vstup se používá UNTextInputNotificationAction, který poskytuje text zadaný uživatelem.

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()
    }
}

Typy a scénáře Notification Action

Notification Action se klasifikuje podle typu interakce a scénáře použití. Správný výběr typu akce přímo ovlivňuje uživatelský zážitek a konverzi na cílovou akci.

Tlačítka spouštějící aplikaci

Nejběžnější typ — tlačítko, které otevírá aplikaci na konkrétní obrazovce. Na Androidu se používá PendingIntent.getActivity(), na iOS — volba .foreground pro UNNotificationAction. Používá se pro akce vyžadující plné rozhraní, například zobrazení podrobností objednávky.

Akce na pozadí

Akce, které se provádějí bez otevření aplikace. Na Androidu se používá PendingIntent.getBroadcast() nebo PendingIntent.getService(). Na iOS — volba .authenticationRequired nebo bez .foreground. Příklady: označení úkolu jako hotového, lajkování příspěvku, přidání k oblíbeným.

Textový vstup

Umožňuje uživateli zadat text přímo do oznámení. Na Androidu je implementován prostřednictvím RemoteInput, na iOS prostřednictvím UNTextInputNotificationAction. Používá se pro odpovědi na zprávy, komentáře, zadávání jednorázových potvrzovacích kódů.

Destruktivní akce

Akce, které nevratně mění data — smazání, odmítnutí, blokování. Na Androidu jsou vizuálně odlišeny (červená barva v některých systémech), na iOS vyžadují volbu .destructive. Doporučuje se žádat o potvrzení pro destruktivní akce, například prostřednictvím dalšího dialogu nebo druhého kliknutí.

Vstupní akce s textovým vstupem

Samostatná třída akcí — textový vstup přímo z oznámení. Na Androidu je implementována prostřednictvím RemoteInput v kombinaci s PendingIntent. Na iOS se používá UNTextInputNotificationAction, který dědí z UNNotificationAction. Takové akce se používají pro rychlé odpovědi v messengerech, zadávání propagačních kódů, vyplňování formulářů zpětné vazby nebo hodnocení kvality služeb. Zadaný text je předán aplikaci spolu s identifikátorem akce. Pro správné zpracování textového vstupu na obou platformách je třeba implementovat analýzu zadaných dat a validaci před provedením cílové akce.

Zpracování kliknutí a logování

Správné zpracování Notification Action je kritické pro analytiku a uživatelský zážitek. Každé kliknutí musí být zalogováno a akce musí být provedena spolehlivě, i když byla aplikace zavřena.

Analytika a sledování

Sledujte každé kliknutí na Notification Action prostřednictvím analytického systému. Firebase Analytics, Mixpanel nebo Yandex.Metrica umožňují zaznamenávat identifikátor akce, čas kliknutí a kontext oznámení. Tato data pomáhají optimalizovat strategii oznámení a zvyšovat zapojení. A/B testování s různými sadami akcí pomáhá určit nejefektivnější scénáře interakce s uživatelem.

Spolehlivé zpracování při zavřené aplikaci

Pokud je aplikace zavřena, systém stále předává Intent nebo UNNotificationResponse při kliknutí na akci. Na Androidu použijte BroadcastReceiver pro garantované zpracování. Na iOS systém spustí aplikaci na pozadí a předá odpověď delegátovi. Pro kritické akce (potvrzení platby, autorizace) přidejte mechanismus opakování a oznámení uživateli o úspěšném provedení.

Vizuální přizpůsobení tlačítek na Androidu

Počínaje Androidem 7.0 může vývojář ovlivnit zobrazení Notification Action prostřednictvím ikon a barev. Ikony musí být monochromní (alfa kanál), o velikosti 24x24 dp. Na iOS je přizpůsobení tlačítek omezené — používají se systémové barvy a písma. Material Design doporučuje seskupovat akce podle priority: nejdůležitější akce první, destruktivní poslední.

Často kladené otázky

Kolik akcí lze přidat do jednoho oznámení?

Na Androidu se doporučuje maximálně 3 akce, na iOS až 4. Překročení limitu vede k tomu, že se některé akce nezobrazí nebo jsou skryty v podnabídce.

Jak přidat ikonu pro Notification Action na Androidu?

Ikona se předává do NotificationCompat.Action.Builder jako drawable zdroj. Ikona musí být monochromní (alfa kanál), o velikosti 24x24 dp a odpovídat doporučením Material Design.

Fungují Notification Action na uzamčené obrazovce?

Ano, pokud je oznámení zobrazeno na uzamčené obrazovce a příznak visibility je nastaven na VISIBILITY_PUBLIC. Na iOS je vyžadována volba .authenticationRequired pro akce vyžadující autorizaci.

Jak zpracovat kliknutí na akci, pokud byla aplikace odstraněna z paměti?

Na Androidu systém znovu vytvoří proces a doručí Intent. Na iOS systém spustí aplikaci na pozadí. Doručení lze zajistit pomocí BroadcastReceiver na Androidu a UNNotificationServiceExtension na iOS.

Jaký je rozdíl mezi akcí na Androidu a iOS z hlediska uživatelského zážitku?

Na Androidu jsou akce okamžitě viditelné pod oznámením jako ikony. Na iOS jsou akce skryty za dlouhým stisknutím nebo potažením. UX design oznámení by měl tyto platformní rozdíly zohledňovat.

Shrnutí

  • Notification Action — tlačítka a vstupní pole v push oznámeních pro rychlou interakci.
  • Na Androidu se akce vytvářejí pomocí NotificationCompat.Action s PendingIntent.
  • Na iOS se akce definují pomocí UNNotificationAction s registrací kategorie.
  • Textový vstup je implementován pomocí RemoteInput (Android) nebo UNTextInputNotificationAction (iOS).
  • Maximální počet akcí — 3 pro Android, 4 pro iOS.
  • Každá akce by měla být logována v analytickém systému pro optimalizaci oznámení.
  • Pro spolehlivé zpracování použijte BroadcastReceiver na Androidu a AppDelegate na iOS.

Vyvineme mobilní aplikaci na klíč

IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.

Prodiskutovat projekt

Přečtěte si také