Interactive Notification v mobilních aplikacích: podstata, jaké existují a jak fungují

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

Interactive Notification je push oznámení s interaktivními prvky, které umožňuje provést akci bez otevření aplikace. Podle Apple Human Interface Guidelines (2025) tato oznámení snižují počet kroků k cílové akci o 40%. Tlačítka akcí a vstupní pole dávají uživateli možnost odpovědět na zprávu, zaplatit předplatné nebo potvrdit rezervaci přímo z notifikační lišty, aniž by otevřel aplikaci.

Hlavní body

  • Interactive Notification je oznámení s tlačítky nebo vstupním polem, které funguje bez otevření aplikace.
  • Uživatel může odpovědět na zprávu, potvrdit akci nebo zadat text přímo z notifikační lišty.
  • iOS používá UNNotificationContentExtension s kategoriemi a akcemi pro vytvoření interaktivity.
  • Android podporuje interaktivní oznámení přes NotificationCompat a RemoteInput.
  • Zapojení aplikací s interaktivními oznámeními vzrůstá o 28% podle Localytics (2025).

Co je Interactive Notification

Interactive Notification je rozšířený formát push oznámení, který obsahuje interaktivní ovládací prvky: tlačítka, přepínače a vstupní pole pro text. Na rozdíl od standardního oznámení, které pouze informuje, interaktivní umožňuje uživateli provést cílovou akci přímo z lišty nebo uzamčené obrazovky. Podle Google Material Design (2025) jsou interaktivní oznámení zpracovávána operačním systémem bez spuštění hlavního procesu aplikace — šetří baterii a zrychluje odezvu. Vývojář definuje sadu akcí prostřednictvím kategorií na iOS a kanálů na Android a systém je zobrazuje v závislosti na kontextu.

Struktura interaktivního oznámení

Každé interaktivní oznámení se skládá ze tří úrovní: hlavní obsah (nadpis, tělo), akce (tlačítka) a volitelný textový vstup. Na iOS jsou tyto komponenty spojeny pomocí UNNotificationCategory, na Android pomocí NotificationCompat.Action.Builder. Systém zobrazuje tlačítka pod textem oznámení ve sbalené nebo rozšířené podobě v závislosti na verzi OS a délce textu. Uživatel vidí dostupné akce ihned po obdržení oznámení a může provést jednu z nich bez přechodu do aplikace.

Jak fungují interaktivní oznámení

Mechanismus fungování Interactive Notification se dělí na dvě fáze: registrace kategorií při spuštění aplikace a zpracování akce při klepnutí uživatelem. Ve fázi registrace vývojář vytváří objekty kategorií se sadou akcí — každá akce má identifikátor, název a možnosti. Při obdržení push oznámení systém porovná s registrovanou kategorií podle pole categoryIdentifier a automaticky přidá odpovídající tlačítka. Když uživatel klepne na tlačítko, systém zavolá delegáta UNUserNotificationCenter nebo PendingIntent na Android s identifikátorem akce a předá výsledek zpět do aplikace. Podle WWDC 2024 doba zpracování interaktivní akce na iOS nepřesahuje 200 ms při správném nastavení.

Typy interaktivních oznámení

Interaktivní oznámení se dělí na tři hlavní typy podle způsobu interakce: tlačítková, textová a multimediální. Každý typ řeší svůj vlastní úkol a používá se v konkrétních scénářích. Výběr typu závisí na kontextu — čím méně kroků uživatel potřebuje, tím vyšší je konverze. Apple a Google doporučují používat tlačítka pro potvrzení, vstupní pole pro odpovědi a média pro náhled obsahu.

Tlačítka akcí

Nejrozšířenější typ — oznámení s jedním nebo více tlačítky, z nichž každé provádí předdefinovanou akci. Například tlačítka „Přijmout“ a „Odmítnout“ pro událost v kalendáři, „Like“ a „Odpovědět“ pro zprávu. Na iOS je podporováno až čtyři tlačítka, na Android až tři. Tlačítka lze seskupit podle priority: běžná a destruktivní (s potvrzením). Apple doporučuje ne více než dvě hlavní tlačítka pro pohodlí uživatele na uzamčené obrazovce.

Textový vstup

RemoteInput je technologie, která umožňuje uživateli zadat text přímo v oznámení bez otevření aplikace. Na iOS se používá UNTextInputNotificationAction, na Android RemoteInput.Builder s klíčem pro extrakci zadaného textu. Nejčastěji se používá v messengerech pro rychlou odpověď na zprávu. Zadaný text je předán aplikaci prostřednictvím notifikační služby nebo lokálního handleru. Omezení — text nemůže obsahovat formátování, pouze plain string.

Multimediální obsah

Oznámení s multimediálními přílohami umožňují zobrazovat obrázky, audio a video přímo v liště. Na iOS je to implementováno pomocí UNNotificationAttachment, na Android pomocí NotificationCompat.MessagingStyle s BigPictureStyle. Média jsou nahrána serverem push provideru a přenášena spolu s oznámením jako příloha. Velikost přílohy je omezena — Apple doporučuje ne více než 10 MB, Google ne více než 1 MB pro obrázky. Multimediální obsah zvyšuje informační hodnotu oznámení pro zprávy, e-commerce a sociální sítě.

Implementace na iOS

Na iOS je Interactive Notification implementován přes framework UserNotifications s použitím UNNotificationCategory a UNNotificationAction. Aplikace registruje kategorie při spuštění a při obdržení oznámení systém automaticky zobrazí odpovídající tlačítka. Pro zpracování akcí je nutné implementovat metodu userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler. Níže je uveden příklad registrace kategorie s tlačítkem a textovým vstupem ve Swift.

Registrace kategorií oznámení

swift
import UserNotifications

let replyAction = UNTextInputNotificationAction(
    identifier: "reply",
    title: "Odpovědět",
    options: [.authenticationRequired],
    textInputButtonTitle: "Odeslat",
    textInputPlaceholder: "Zadejte zprávu..."
)

let category = UNNotificationCategory(
    identifier: "message",
    actions: [replyAction],
    intentIdentifiers: [],
    options: []
)

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

Po zavolání setNotificationCategories systém uloží kategorie a používá je pro všechna následující oznámení. Kód by měl být volán při každém spuštění aplikace, aby synchronizoval kategorie s novými verzemi. Zpracování odpovědi probíhá v delegátovi centra oznámení — aplikace obdrží identifikátor akce a zadaný text pro další zpracování.

Zpracování klepnutí na tlačítko

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

Metoda userNotificationCenter je volána systémem po klepnutí na tlačítko nebo odeslání textu uživatelem. Uvnitř handleru se kontroluje actionIdentifier — pokud odpovídá registrovanému identifikátoru, aplikace extrahuje zadaný text z userText a odešle na server. Pro běžná tlačítka bez textového vstupu se používá UNNotificationResponse bez přetypování.

Implementace na Android

Na Android jsou interaktivní oznámení vytvářena pomocí třídy NotificationCompat s metodami addAction a RemoteInput. Na rozdíl od iOS Android nevyžaduje předběžnou registraci kategorií — akce se přidávají přímo do každého oznámení přes Builder. To poskytuje větší flexibilitu: každé oznámení může mít jedinečnou sadu tlačítek. Níže je uveden příklad oznámení s tlačítkem odpovědi v Javě pomocí RemoteInput.

Vytvoření oznámení s RemoteInput

java
RemoteInput remoteInput = new RemoteInput.Builder("key_reply")
    .setLabel("Odpovědět")
    .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,
        "Odpovědět", replyIntent
    )
    .addRemoteInput(remoteInput)
    .build();

NotificationCompat.Builder builder =
    new NotificationCompat.Builder(this, "messages")
    .setContentTitle("Nová zpráva")
    .setContentText("Ahoj! Jak se máš?")
    .setSmallIcon(R.drawable.ic_notification)
    .addAction(action);

NotificationManagerCompat.from(this)
    .notify(100, builder.build());

Klíčovým prvkem je RemoteInput, který propojuje vstupní pole s akcí. Když uživatel klepne na tlačítko „Odpovědět“, systém otevře dialog pro zadání textu uvnitř oznámení. Po odeslání je text předán přes Intent do BroadcastReceiver nebo Activity podle zadaného PendingIntent. Pro získání textu v příjemci se používá RemoteInput.getResultsFromIntent(intent) s klíčem „key_reply“.

Extrahování zadaného textu

java
Bundle results = RemoteInput.getResultsFromIntent(intent);
if (results != null) {
    CharSequence reply = results.getCharSequence("key_reply");
    if (reply != null) {
        sendReplyToServer(reply.toString());
    }
}

Metoda getResultsFromIntent extrahuje text zadaný uživatelem z Intent, který byl předán systémem při odeslání odpovědi. Výsledek je vrácen jako CharSequence, který je převeden na řetězec pro odeslání na server. Pokud uživatel zavřel dialog zadávání bez odeslání, bude results prázdný — to je třeba vzít v úvahu při zpracování. Tento přístup umožňuje implementovat rychlou odpověď bez spuštění Activity.

Scénáře použití

Interactive Notification se používá v aplikacích jakéhokoli typu, kde je vyžadována rychlá akce uživatele. Nejefektivnější scénáře — messengery pro odpověď na zprávu, e-commerce pro potvrzení objednávky a kalendáře pro přijetí pozvánky. Podle Localytics (2025) vykazují aplikace s interaktivními oznámeními o 28% vyšší retenci 7. den. Níže je uvedena tabulka s oblíbenými scénáři a platformovými specifiky.

ScénářAkcePlatforma
MessengerOdpovědět textem, dát LikeiOS + Android
E-commercePotvrdit, odložit, zrušitiOS + Android
KalendářPřijmout, odmítnout, možnáiOS
ZprávyUložit, sdílet, otevřítAndroid
RezervacePotvrdit, přeplánovat, zrušitiOS + Android

Při navrhování interaktivních oznámení je důležité zohlednit omezení — uživatel může provést akci pouze jednou. Po klepnutí na tlačítko oznámení zmizí nebo přejde do stavu „dokončeno“. Každá akce by proto měla být nevratná nebo vyžadovat potvrzení v druhém kroku.

Často kladené otázky

Co je Interactive Notification?

Interactive Notification je push oznámení s tlačítky, vstupním polem nebo multimediální přílohou, které umožňuje uživateli provést akci bez otevření aplikace. Je podporováno na iOS přes UserNotifications a na Android přes NotificationCompat.

Čím se liší interaktivní oznámení od běžného push?

Běžné oznámení pouze informuje — uživatel klepne a otevře aplikaci. Interaktivní oznámení obsahuje tlačítka nebo vstupní pole a akce se provádí přímo v liště. To zkracuje cestu k cílové akci a snižuje zátěž aplikace.

Kolik tlačítek lze přidat do interaktivního oznámení?

Na iOS je podporováno až čtyři tlačítka, na Android až tři. Na Android jsou dvě tlačítka zobrazena na panelu oznámení, třetí je dostupné v rozbalovací nabídce. Apple doporučuje ne více než dvě hlavní tlačítka pro pohodlí uživatele na uzamčené obrazovce.

Jak přidat vstupní pole pro text do oznámení?

Na iOS se používá UNTextInputNotificationAction, na Android RemoteInput.Builder s klíčem. Uživatel zadá text do dialogového okna uvnitř oznámení a aplikace jej obdrží přes delegáta nebo Intent bez spuštění Activity.

Je vyžadováno připojení k internetu pro fungování interaktivních oznámení?

Příjem push oznámení vyžaduje připojení k internetu, ale samotná interaktivita (zobrazení tlačítek, textový vstup) funguje offline. Předání výsledku na server může být odloženo do obnovení připojení.

Shrnutí

  • Interactive Notification je push oznámení s tlačítky nebo vstupním polem pro akce bez otevření aplikace.
  • Typy — tlačítková, textová (RemoteInput) a multimediální (s obrázky a videem).
  • iOS implementuje interaktivitu přes UNNotificationCategory, UNNotificationAction a UNTextInputNotificationAction.
  • Android používá NotificationCompat, RemoteInput a PendingIntent pro zpracování akcí.
  • Retence aplikací s interaktivními oznámeními je o 28% vyšší 7. den podle Localytics (2025).
  • Omezení — akce se provádí jednou, po klepnutí na tlačítko oznámení přejde do stavu „dokončeno“.
  • Doporučení — používejte interaktivitu pro rychlé akce: odpověď na zprávu, potvrzení objednávky, přijetí pozvánky.

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é