Notification Action nelle app mobili: cosa sono, varietà e configurazione

Autore: IT Sectr Pubblicato: 2026-03-21 Tempo di lettura: 8 min

Notification Action — pulsanti interattivi e campi di input che appaiono direttamente in una notifica push e consentono all'utente di eseguire un'azione senza aprire l'app. È un elemento chiave dell'esperienza utente, che accorcia il percorso verso lo schermo di destinazione. Secondo Android Developers, 2025, Notification Action aumenta il coinvolgimento degli utenti fino al 40% riducendo l'attrito nell'interazione.

Punti chiave

  • Notification Action — elemento interattivo nelle notifiche push per l'esecuzione rapida di attività.
  • Su Android, le azioni sono implementate tramite PendingIntent e NotificationCompat.Action.Builder.
  • Su iOS, le azioni sono configurate tramite UNNotificationAction e UNNotificationCategory.
  • Pulsanti, input di testo, marcatura come completato e azioni differite sono supportati.
  • Ogni azione deve essere gestita nel callback dell'app al tocco.

Cosa sono le Notification Action

Notification Action è un elemento interattivo dell'interfaccia aggiunto a una notifica push per eseguire un'azione specifica. L'utente può rispondere a un messaggio, confermare un'attività o aprire una schermata specifica senza entrare nell'app. Le azioni appaiono come pulsanti sotto il testo della notifica o in una vista espansa durante lo swipe.

Perché servono azioni nelle notifiche

L'obiettivo principale di Notification Action è ridurre il numero di passaggi per raggiungere l'obiettivo dell'utente. Invece di aprire l'app e navigare verso la schermata desiderata, l'utente preme un singolo pulsante. Le ricerche mostrano che le app con notifiche interattive mostrano un coinvolgimento del 25–40% superiore rispetto alle notifiche semplici.

Rappresentazione visiva su diverse piattaforme

Su Android, le Notification Action vengono visualizzate come pulsanti icona in vista compatta e pulsanti di testo in modalità espandibile. Su iOS, le azioni appaiono con una pressione prolungata sulla notifica o con uno swipe a sinistra. Ogni piattaforma ha le proprie raccomandazioni sul numero di azioni — Android raccomanda non più di 3, iOS non più di 4.

PiattaformaMax azioniMetodo di visualizzazioneTipi di azioni
Android3Icone + TestoPulsanti, Input di testo
iOS4Pressione lunga / SwipePulsanti, Input di testo

Notification Action su Android

Su Android, le Notification Action vengono create tramite NotificationCompat.Builder utilizzando il metodo addAction(). Ogni azione contiene un'icona, testo e PendingIntent che si attiva al tocco. A partire da Android 7.0 (API 24), l'input diretto di testo tramite RemoteInput è supportato.

Creazione di un'azione base

Per creare un pulsante in una notifica, è necessario definire un PendingIntent che verrà avviato al tocco. PendingIntent può aprire un'Activity, avviare un Service o un BroadcastReceiver. L'icona dell'azione deve essere monocromatica e conforme a 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("Richiesta di conferma")
    .setContentText("Conferma il completamento dell'attività")
    .addAction(R.drawable.ic_accept, "Conferma", acceptPendingIntent)
    .build()

Azione con input di testo (RemoteInput)

Per scenari che richiedono input di testo (ad esempio, rispondere a un messaggio), Android fornisce RemoteInput. L'utente inserisce il testo direttamente nella notifica e l'app lo riceve senza aprire un'Activity. RemoteInput è supportato su Android 7.0+ e richiede una gestione esplicita in un BroadcastReceiver o Service.

kotlin
val remoteInput = RemoteInput.Builder("reply_input")
    .setLabel("Inserisci risposta")
    .build()

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

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

Gestione delle azioni su Android

Quando un'azione viene toccata, il sistema avvia il PendingIntent specificato. Per recuperare il testo inserito tramite RemoteInput, chiamare RemoteInput.getResultsFromIntent(intent). Si consiglia di gestire le azioni in IntentService o WorkManager per non bloccare il thread dell'interfaccia utente.

Notification Action su iOS

Su iOS, le Notification Action sono implementate tramite il framework UserNotifications. Lo sviluppatore crea categorie di azioni (UNNotificationCategory) e le registra all'avvio dell'app. Ogni azione è definita da un oggetto UNNotificationAction con un identificatore univoco.

Configurazione di categorie e azioni su iOS

Per aggiungere azioni alle notifiche push su iOS, è necessario creare una categoria che raggruppa le azioni correlate. La categoria viene specificata nel payload della notifica tramite il campo category. Al ricevimento di una notifica, il sistema mostra le azioni disponibili dalla categoria specificata.

swift
import UserNotifications

class NotificationSetup {

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

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

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

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

Gestione delle azioni su iOS

Quando l'utente tocca un'azione, il sistema chiama il metodo userNotificationCenter:didReceiveNotificationResponse nel delegato di UNUserNotificationCenter. response.actionIdentifier contiene l'identificatore dell'azione eseguita. Per l'input di testo, viene utilizzato UNTextInputNotificationAction, che fornisce il testo inserito dall'utente.

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

Tipi e scenari di Notification Action

Notification Action è classificata per tipo di interazione e scenario d'uso. La scelta corretta del tipo di azione influisce direttamente sull'esperienza utente e sulla conversione verso l'azione target.

Pulsanti con apertura dell'app

Il tipo più comune — un pulsante che apre l'app su una schermata specifica. Su Android, si usa PendingIntent.getActivity(), su iOS — l'opzione .foreground di UNNotificationAction. Utilizzato per azioni che richiedono un'interfaccia completa, come visualizzare i dettagli dell'ordine.

Azioni in background

Azioni che vengono eseguite senza aprire l'app. Su Android, si usa PendingIntent.getBroadcast() o PendingIntent.getService(). Su iOS — l'opzione .authenticationRequired o senza .foreground. Esempi: contrassegnare attività come completata, mettere mi piace a un post, aggiungere ai preferiti.

Input di testo

Consente all'utente di inserire testo direttamente nella notifica. Su Android, implementato tramite RemoteInput, su iOS — tramite UNTextInputNotificationAction. Utilizzato per rispondere a messaggi, commenti, inserire codici di conferma monouso.

Azioni distruttive

Azioni che modificano i dati in modo irreversibile — eliminazione, rifiuto, blocco. Su Android, sono evidenziate visivamente (colore rosso in alcuni sistemi), su iOS richiedono l'opzione .destructive. Si consiglia di richiedere conferma per azioni distruttive, ad esempio tramite un dialogo aggiuntivo o un secondo tocco.

Azioni di input con inserimento testo

Una classe separata di azioni — inserimento di testo direttamente dalla notifica. Su Android, questo è implementato tramite RemoteInput in combinazione con PendingIntent. Su iOS, viene utilizzato UNTextInputNotificationAction, che eredita da UNNotificationAction. Tali azioni vengono utilizzate per risposte rapide nei messenger, inserimento di codici promozionali, compilazione di moduli di feedback o valutazione della qualità del servizio. Il testo inserito viene passato all'app insieme all'identificatore dell'azione. Per una corretta gestione dell'input di testo su entrambe le piattaforme, è necessario implementare l'analisi dei dati inseriti e la validazione prima di eseguire l'azione target.

Gestione tocchi e registrazione

La corretta gestione di Notification Action è fondamentale per l'analisi e l'esperienza utente. Ogni tocco deve essere registrato e l'azione deve essere eseguita in modo affidabile anche se l'app era chiusa.

Analisi e monitoraggio

Traccia ogni tocco su Notification Action attraverso il tuo sistema di analisi. Firebase Analytics, Mixpanel o Yandex.Metrica consentono di registrare l'identificatore dell'azione, l'ora del tocco e il contesto della notifica. Questi dati aiutano a ottimizzare la strategia delle notifiche e aumentare il coinvolgimento. I test A/B con diversi set di azioni aiutano a identificare gli scenari di interazione più efficaci con l'utente.

Gestione affidabile quando l'app è chiusa

Se l'app è chiusa, il sistema consegna comunque l'Intent o UNNotificationResponse al tocco di un'azione. Su Android, utilizzare un BroadcastReceiver per una gestione garantita. Su iOS, il sistema avvia l'app in background e passa la risposta al delegato. Per azioni critiche (conferma di pagamento, autorizzazione), aggiungere un meccanismo di ripetizione e notificare all'utente il completamento con successo.

Personalizzazione visiva dei pulsanti su Android

A partire da Android 7.0, lo sviluppatore può influenzare l'aspetto di Notification Action attraverso icone e colori. Le icone devono essere monocromatiche (canale alpha), dimensioni 24x24 dp. Su iOS, la personalizzazione dei pulsanti è limitata — vengono utilizzati colori e caratteri di sistema. Material Design raccomanda di raggruppare le azioni per priorità: l'azione più importante per prima, quelle distruttive per ultime.

Domande frequenti

Quante azioni si possono aggiungere a una singola notifica?

Android raccomanda non più di 3 azioni, iOS — fino a 4. Il superamento del limite porta alla mancata visualizzazione di alcune azioni o al loro nascondimento in un sottomenu.

Come aggiungere un'icona per Notification Action su Android?

L'icona viene passata in NotificationCompat.Action.Builder come risorsa drawable. L'icona deve essere monocromatica (canale alpha), dimensione 24x24 dp e conforme alle linee guida di Material Design.

Le Notification Action funzionano sulla schermata bloccata?

Sì, se la notifica viene visualizzata sulla schermata bloccata e il flag visibility è impostato su VISIBILITY_PUBLIC. Su iOS, è richiesta l'opzione .authenticationRequired per le azioni che necessitano di autorizzazione.

Come gestire un tocco su un'azione se l'app è stata rimossa dalla memoria?

Su Android, il sistema ricrea il processo e consegna l'Intent. Su iOS, il sistema avvia l'app in background. La consegna garantita può essere ottenuta utilizzando BroadcastReceiver su Android e UNNotificationServiceExtension su iOS.

In cosa differisce l'esperienza utente delle azioni tra Android e iOS?

Su Android, le azioni sono visibili direttamente sotto la notifica come icone. Su iOS, le azioni sono nascoste dietro una pressione lunga o uno swipe. Il design UX delle notifiche deve tenere conto di queste differenze di piattaforma.

Riepilogo

  • Notification Action — pulsanti e campi di input nelle notifiche push per interazione rapida.
  • Su Android, le azioni vengono create tramite NotificationCompat.Action con PendingIntent.
  • Su iOS, le azioni vengono definite tramite UNNotificationAction con registrazione della categoria.
  • L'input di testo è implementato tramite RemoteInput (Android) o UNTextInputNotificationAction (iOS).
  • Numero massimo di azioni — 3 per Android, 4 per iOS.
  • Ogni azione dovrebbe essere registrata in un sistema di analisi per ottimizzare le notifiche.
  • Per una gestione affidabile, utilizzare BroadcastReceiver su Android e AppDelegate su iOS.

Svilupperemo un'applicazione mobile chiavi in mano

IT Sectr crea applicazioni iOS e Android per startup e aziende dal 2017. Ti consulteremo e ti proporremo la soluzione migliore.

Discuti il progetto

Leggi anche