Notification Action în aplicații mobile: ce este, tipuri și configurare

Autor: IT Sectr Publicat: 2026-03-21 Timp de citire: 8 min

Notification Action — butoane interactive și câmpuri de introducere care se afișează direct în notificarea push și permit utilizatorului să efectueze o acțiune fără a deschide aplicația. Este un element cheie al experienței utilizatorului, scurtând drumul până la ecranul țintă. Potrivit Android Developers, 2025, Notification Action crește implicarea utilizatorilor cu până la 40% prin reducerea frecării în interacțiune.

Principalele puncte

  • Notification Action — element interactiv în notificarea push pentru executarea rapidă a sărcilor.
  • Pe Android, acțiunile se implementează prin PendingIntent și NotificationCompat.Action.Builder.
  • Pe iOS, acțiunile se configurează prin UNNotificationAction și UNNotificationCategory.
  • Sunt acceptate butoane, introducere text, marcarea ca „finalizat“ și acțiuni amânate.
  • Fiecare acțiune trebuie gestionată în callback-ul aplicației la clic.

Ce este Notification Action

Notification Action — este un element interactiv de interfață adăugat în notificarea push pentru a executa o acțiune specifică. Utilizatorul poate răspunde la un mesaj, poate confirma o sarcină sau poate deschide un ecran specific fără a intra în aplicație. Acțiunile sunt afișate ca butoane sub textul notificării sau în vizualizarea extinsă la glisare.

De ce sunt necesare acțiunile în notificări

Scopul principal al Notification Action este de a reduce numărul de pași pentru ca utilizatorul să-și atingă scopul. În loc să deschidă aplicația și să navigheze la ecranul dorit, utilizatorul face clic pe un singur buton. Cercetările arată că aplicațile cu notificări interactive au un nivel de implicare cu 25–40% mai mare comparativ cu notificările simple.

Reprezentarea vizuală pe diferite platforme

Pe Android, Notification Action se afișează ca butoane-iconițe în vizualizarea compactă și ca butoane text în modul extins. Pe iOS, acțiunile apar la apăsarea lungă pe notificare sau la glisarea spre stânga. Fiecare platformă are propriile recomandări privind numărul de acțiuni — Android recomandă maximum 3, iOS — maximum 4.

PlatformaMax. acțiuniMod de afișareTipuri de acțiuni
Android3Iconițe + textButoane, introducere text
iOS4Apăsare lungă / glisareButoane, introducere text

Notification Action pe Android

Pe Android, Notification Action se creează prin NotificationCompat.Builder utilizând metoda addAction(). Fiecare acțiune conține o iconiță, un text și un PendingIntent care se declanșează la clic. Începând cu Android 7.0 (API 24), este acceptată introducerea directă de text prin RemoteInput.

Crearea unei acțiuni de bază

Pentru a crea un buton în notificare, trebuie definit un PendingIntent care va fi lansat la clic. PendingIntent poate deschide o Activity, poate porni un Service sau un BroadcastReceiver. Iconița acțiunii trebuie să fie monocromă și conformă cu 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("Cerere de confirmare")
    .setContentText("Confirmați executarea sarcinii")
    .addAction(R.drawable.ic_accept, "Confirmă", acceptPendingIntent)
    .build()

Acțiune cu introducere de text (RemoteInput)

Pentru scenarii care necesită introducere de text (de exemplu, răspuns la un mesaj), Android oferă RemoteInput. Utilizatorul introduce textul direct în notificare, iar aplicația îl primește fără a deschide Activity. RemoteInput este acceptat începând cu Android 7.0+ și necesită gestionare explicită în BroadcastReceiver sau Service.

kotlin
val remoteInput = RemoteInput.Builder("reply_input")
    .setLabel("Introduceți răspunsul")
    .build()

val replyAction = NotificationCompat.Action.Builder(
    R.drawable.ic_reply, "Răspunde", replyPendingIntent
)
    .addRemoteInput(remoteInput)
    .build()

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

Gestionarea acțiunilor pe Android

La clic pe o acțiune, sistemul lansează PendingIntent-ul specificat. Pentru a obține textul introdus din RemoteInput, apelați RemoteInput.getResultsFromIntent(intent). Se recomandă gestionarea acțiunilor în IntentService sau WorkManager pentru a nu bloca firul UI.

Notification Action pe iOS

Pe iOS, Notification Action se implementează prin framework-ul UserNotifications. Dezvoltatorul creează categorii de acțiuni (UNNotificationCategory) și le înregistrează la pornirea aplicației. Fiecare acțiune este definită de un obiect UNNotificationAction cu un identificator unic.

Configurarea categoriilor și acțiunilor pe iOS

Pentru a adăuga acțiuni în notificările push pe iOS, trebuie creată o categorie care grupează acțiunile conexe. Categoria este specificată în încărcarea notificării prin câmpul category. La primirea notificării, sistemul afișează acțiunile disponibile din categoria specificată.

swift
import UserNotifications

class NotificationSetup {

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

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

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

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

Gestionarea acțiunilor pe iOS

Când utilizatorul face clic pe o acțiune, sistemul apelează metoda userNotificationCenter:didReceiveNotificationResponse în delegatul UNUserNotificationCenter. response.actionIdentifier conține identificatorul acțiunii executate. Pentru introducerea de text se utilizează UNTextInputNotificationAction, care furnizează textul introdus de utilizator.

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

Tipuri și scenarii de Notification Action

Notification Action se clasifică după tipul de interacțiune și scenariul de utilizare. Alegerea corectă a tipului de acțiune influențează direct experiența utilizatorului și conversia în acțiunea țintă.

Butoane care deschid aplicația

Cel mai comun tip — buton care deschide aplicația pe un ecran specific. Pe Android se utilizează PendingIntent.getActivity(), pe iOS — opțiunea .foreground pentru UNNotificationAction. Se aplică pentru acțiuni care necesită interfață completă, de exemplu vizualizarea detaliilor comenzii.

Acțiuni în fundal

Acțiuni care se execută fără a deschide aplicația. Pe Android se utilizează PendingIntent.getBroadcast() sau PendingIntent.getService(). Pe iOS — opțiunea .authenticationRequired sau fără .foreground. Exemple: marcarea sarcinii ca finalizată, aprecierea unui post, adăugarea la favorite.

Introducerea de text

Permite utilizatorului să introducă text direct în notificare. Pe Android se implementează prin RemoteInput, pe iOS — prin UNTextInputNotificationAction. Se utilizează pentru răspunsuri la mesaje, comentarii, introducerea codurilor de confirmare unice.

Acțiuni distructive

Acțiuni care modifică ireversibil datele — ștergere, respingere, blocare. Pe Android se evidențiază vizual (culoare roșie în unele sisteme), pe iOS necesită opțiunea .destructive. Se recomandă solicitarea confirmării pentru acțiunile distructive, de exemplu printr-un dialog suplimentar sau un al doilea clic.

Acțiuni de intrare cu introducere de text

O clasă separată de acțiuni — introducerea textului direct din notificare. Pe Android se implementează prin RemoteInput în combinație cu PendingIntent. Pe iOS se utilizează UNTextInputNotificationAction, care moștenește UNNotificationAction. Astfel de acțiuni sunt folosite pentru răspunsuri rapide în mesagerie, introducerea codurilor promoționale, completarea formularelor de feedback sau evaluarea calității serviciilor. Textul introdus este transmis aplicației împreună cu identificatorul acțiunii. Pentru gestionarea corectă a introducerii textului pe ambele platforme, trebuie implementate analiza datelor introduse și validarea înainte de executarea acțiunii țintă.

Gestionarea clicurilor și logarea

Gestionarea corectă a Notification Action este critică pentru analitică și experiența utilizatorului. Fiecare clic trebuie logat, iar acțiunea — executată fiabil, chiar dacă aplicația a fost închisă.

Analitică și urmărire

Urmăriți fiecare clic pe Notification Action prin sistemul de analitică. Firebase Analytics, Mixpanel sau Yandex.Metrica permit înregistrarea identificatorului acțiunii, momentului clicului și contextului notificării. Aceste date ajută la optimizarea strategiei de notificări și la creșterea implicării. Testarea A/B cu diferite seturi de acțiuni ajută la determinarea celor mai eficiente scenarii de interacțiune cu utilizatorul.

Gestionarea fiabilă când aplicația este închisă

Dacă aplicația este închisă, sistemul transmite totuși Intent sau UNNotificationResponse la clic pe acțiune. Pe Android, utilizați BroadcastReceiver pentru gestionare garantată. Pe iOS, sistemul lansează aplicația în fundal și transmite răspunsul delegatului. Pentru acțiuni critice (confirmarea plății, autorizare), adăugați un mecanism de reîncercare și o notificare a utilizatorului despre executarea cu succes.

Personalizarea vizuală a butoanelor pe Android

Începând cu Android 7.0, dezvoltatorul poate influența afișarea Notification Action prin iconițe și culori. Iconițele trebuie să fie monocrome (canal alfa), cu dimensiunea de 24x24 dp. Pe iOS, personalizarea butoanelor este limitată — se utilizează culori și fonturi de sistem. Material Design recomandă gruparea acțiunilor după prioritate: cea mai importantă acțiune — prima, cele distructive — ultimele.

întrebări frecvente

Câte acțiuni pot fi adăugate într-o singură notificare?

Pe Android se recomandă maximum 3 acțiuni, pe iOS — până la 4. Depășirea limitei face ca o parte din acțiuni să nu se afișeze sau să fie ascunse în submeniu.

Cum se adaugă o iconiță pentru Notification Action pe Android?

Iconița este transmisă în NotificationCompat.Action.Builder ca resursă drawable. Iconița trebuie să fie monocromă (canal alfa), cu dimensiunea de 24x24 dp și conformă recomandărilor Material Design.

Funcționează Notification Action pe ecranul blocat?

Da, dacă notificarea este afișată pe ecranul blocat și flag-ul visibility este setat ca VISIBILITY_PUBLIC. Pe iOS este necesară opțiunea .authenticationRequired pentru acțiunile care necesită autorizare.

Cum se gestionează clicul pe o acțiune dacă aplicația a fost eliminată din memorie?

Pe Android, sistemul recreate procesul și livrează Intent-ul. Pe iOS, sistemul lansează aplicația în fundal. Se poate garanta livrarea cu ajutorul BroadcastReceiver pe Android și UNNotificationServiceExtension pe iOS.

Care este diferența dintre acțiunile pe Android și iOS din perspectiva experienței utilizatorului?

Pe Android, acțiunile sunt vizibile imediat sub notificare sub formă de iconițe. Pe iOS, acțiunile sunt ascunse în spatele apăsării lungi sau glisării. Designul UX al notificărilor trebuie să țină cont de aceste diferențe de platformă.

Concluzii

  • Notification Action — butoane și câmpuri de introducere în notificările push pentru interacțiune rapidă.
  • Pe Android, acțiunile se creează prin NotificationCompat.Action cu PendingIntent.
  • Pe iOS, acțiunile se definesc prin UNNotificationAction cu înregistrarea categoriei.
  • Introducerea textului se implementează prin RemoteInput (Android) sau UNTextInputNotificationAction (iOS).
  • Numărul maxim de acțiuni — 3 pentru Android, 4 pentru iOS.
  • Fiecare acțiune ar trebui logată în sistemul de analitică pentru optimizarea notificărilor.
  • Pentru gestionare fiabilă, utilizați BroadcastReceiver pe Android și AppDelegate pe iOS.

Vom dezvolta o aplicație mobilă la cheie

IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.

Discutați proiectul

Citiți și