Notifiche

Le notifiche forniscono informazioni brevi, tempestive e pertinenti relative all'app quando non è in uso.

Il sistema operativo Android controlla molti aspetti delle notifiche, ma sei tu a controllare altri aspetti. Quando implementi le notifiche, segui questi passaggi:

  1. Comprendere l'anatomia di una notifica.
  2. Scegli il tipo di notifica per il tuo caso d'uso.
  3. Imposta la categoria di notifica in linea con il tipo di notifica che hai scelto.

Possessi guadagnati

  • Considera lo scopo della notifica, ovvero perché stai avvisando gli utenti?
  • Determina il pattern di autorizzazione alle notifiche, valuta quanto sono importanti le notifiche per la tua app e dove chiedere nel percorso dell'utente.
  • Scegli il modello di notifica.
  • Crea i contenuti delle notifiche:
    • Il testo dell'intestazione deve riassumere in modo breve la notifica.
    • Il testo dei contenuti deve visualizzare l'anteprima della notifica.
    • Contenuti delle immagini, se applicabili ai contenuti dell'app.
    • Keyart e metadati del file multimediale per il modello multimediale.
  • Rendi chiaro cosa può fare l'utente con una notifica fornendo azioni basate sui suoi contenuti con pulsanti di testo, digitazione o controlli multimediali.
  • Includi l'icona dell'app e imposta il colore di sfondo dell'icona.
  • Imposta canali e categorie per le tue notifiche. Ciò consente al sistema e al tuo utente di personalizzare le notifiche che ricevono e fornisce comportamenti prioritari.
  • Se la tua app può inviare più notifiche contemporaneamente, invia notifiche di gruppo.
  • Scopri i modelli di notifica nel Kit UI di Android su Figma.

Struttura di una notifica

Le notifiche sono progettate per semplificare la scansione e l'utilizzo degli elementi più importanti di una notifica. Tali elementi sono:

  • Contenuti principali: costituiscono l'elemento più evidente di una notifica. Le informazioni secondarie, ad esempio il timestamp, sono più piccole e consolidate sopra i contenuti principali.
  • Persone: se la notifica riguarda una persona, un avatar si distingue dal resto dei contenuti.
  • Azioni: gli utenti possono espandere le notifiche toccando un'icona dell'indicatore. Le azioni vengono visualizzate con etichette di testo su una posizione e un colore di sfondo separati.
Figura 1: notifica compressa

Intestazione e contenuti delle notifiche

Quando viene compressa, una notifica mostra l'icona dell'app, il testo dell'intestazione, il timestamp, l'indicatore di espansione e il testo dei contenuti. Facoltativamente, può anche mostrare un'icona grande.

Figura 2: area di intestazione delle notifiche

1 Icona dell'app: l'icona dell'app è una rappresentazione bidimensionale dell'identità della tua app. Appare in monocromatico nella barra di stato. Se la tua app invia un'ampia gamma di notifiche, ti consigliamo di sostituire l'icona dell'app con un simbolo per distinguere i diversi tipi di notifiche. Per maggiori dettagli, consulta Applicare il colore dell'icona.

2 Testo intestazione: un breve titolo per la notifica o l'origine, ad esempio il nome dell'account per gli utenti. I contenuti sono l'elemento più in evidenza di una notifica.

3 Timestamp: indica quando è stata inviata una notifica, ad esempio l'ora di una chiamata senza risposta.

4 Indicatore di espansione: indica se la notifica è in stato compresso o espanso.

5 Testo dei contenuti: informazioni di supporto.

6 Icona grande (facoltativa): è possibile aggiungere un'immagine per rafforzare la notifica in modo significativo, ad esempio un messaggio che include un avatar del mittente.

Applica il colore dell'icona

A partire da Android 12 (livello API 31), il sistema ricava il colore dell'icona dal colore di notifica impostato nell'app. Se nell'app non viene impostato il colore, viene utilizzato il colore del tema di sistema. In precedenza, il colore era grigio.

Figura 3: risultato del colore dell'icona dell'app con stile

Per la maggior parte degli stili, il sistema applica questo colore solo se la notifica riguarda una notifica di un servizio in primo piano. Tuttavia, questo requisito non è previsto per le notifiche MediaStyle e DecoratedMediaCustomViewStyle a cui è allegata una sessione multimediale.

Lo snippet seguente mostra come applicare il colore dell'icona.

val notification = Notification.Builder()
    .setColor(Color.GREEN)
    .setColorized(true)
    .setSmallIcon(R.drawable.app_icon)
    .setStyle(Notification.DecoratedCustomViewStyle())
    .build()

Azioni di notifica

Figura 4: area di azione di notifica

1 Azioni del pulsante Testo

2 Pulsanti di azione pieni

3 Risposte suggerite

4 Campo di testo della risposta

A partire da Android 7.0 (livello API 24), il sistema mostra azioni senza icone per inserire più testo. Per supportare i dispositivi Android Wear e i dispositivi con Android 6.0 (livello API 23) e versioni precedenti, la tua app deve comunque fornire un'icona.

Visualizzazioni espanse

Puoi utilizzare una vista espansa per mostrare all'utente più informazioni senza uscire dalla notifica.

Quando viene espansa, una notifica può fornire fino a tre dei seguenti tipi di azioni:

  • Risposte suggerite
  • Azioni enfatizzate (pulsanti a forma di pillola)
  • Azioni di testo standard
Includi azioni di testo che duplicano il comportamento del tocco sul corpo della notifica.
Dai all'utente la possibilità di interagire con la notifica. L'app Orologio di Google mostra un timer in esecuzione, ma consente all'utente di mettere in pausa o aggiungere un minuto direttamente dalla notifica.

Attiva la digitazione delle notifiche

Puoi consentire all'utente di digitare direttamente in una notifica includendo un'azione di risposta. È progettato per digitare una piccola quantità di testo, ad esempio rispondere a un messaggio o annotare una breve nota.

Per la digitazione più lunga, porta gli utenti all'app per offrire loro più spazio per visualizzare e modificare il testo.

Per le app di messaggistica, ti consigliamo di mantenere la notifica presente dopo che l'utente ha inviato la risposta e di attendere che la conversazione venga messa in pausa prima di ignorarla automaticamente.

Figura 5: un utente che risponde direttamente in Android Messaggi senza uscire dalla notifica dopo aver toccato Rispondi

Scegli il tipo di notifica in base al caso d'uso

Google utilizza i seguenti modelli di notifica nelle sue app per Android. Questi modelli possono essere personalizzati in una certa misura per la tua app.

Dai un'occhiata all'Android UI Kit su Figma per trovare i modelli di notifica.

Modello standard

Il modello standard è adatto per la maggior parte delle notifiche, consentendo testo conciso, un'icona grande (se applicabile) e azioni.

Figura 6: modello di notifica standard

Modello di testo grande

Il modello di testo grande è ideale per la visualizzazione di blocchi di testo più lungo. Consente all'utente di visualizzare l'anteprima di più testo dopo aver espanso la notifica.

Figura 7: modello di testo grande, con icona grande opzione

Modello quadro generale

Il modello grande è pensato per le notifiche contenenti un'immagine. Quando viene compressa, la notifica mostra la miniatura di un'icona grande dell'immagine. Quando viene espansa, la notifica mostra un'anteprima molto più ampia.

Figura 8: modello di quadro generale

Modello di avanzamento

Il modello di avanzamento è progettato per le attività avviate dall'utente il cui completamento richiede tempo. Quando viene espansa, una notifica che utilizza questo modello mostra una barra di avanzamento e include anche un'azione di "annullamento" che consente all'utente di terminare l'attività. Le attività non annullabili non garantiscono la ricezione di notifiche.

Figura 9: modello di avanzamento

Modello multimediale

Il modello multimediale è progettato per consentire all'utente di controllare i contenuti multimediali attualmente in riproduzione da un'app.

  • Quando è compressa, la notifica può mostrare fino a tre azioni. L'icona grande può mostrare un'immagine correlata, ad esempio la copertina di un album.
  • Quando viene espansa, la notifica mostra fino a cinque azioni con un'immagine più grande o sei azioni senza immagine. Lo sfondo e gli altri elementi della notifica ereditano automaticamente i colori dall'immagine.
Figura 10: modello multimediale

Modello di messaggistica

Il modello MessagingStyle è progettato per la comunicazione in tempo reale. Quando viene espansa, una notifica che utilizza questo modello consente all'utente di rispondere ai messaggi dall'interno della notifica.

Figura 11: modello di messaggistica

Modello di chiamata

Utilizza il modello CallStyle per generare notifiche di grande formato che includono un'immagine di grandi dimensioni allegata e indicano una chiamata in arrivo o in uscita.

Figura 12: modello di chiamata

Autorizzazioni alle notifiche

Per quanto pertinenti e tempestive possono essere le notifiche, la maggior parte delle notifiche non è esente, ovvero l'utente deve acconsentire a ricevere notifiche dalla tua app.

Esiste un'eccezione: a partire da Android 13 (livello API 33), le sessioni multimediali e le app che gestiscono le chiamate sono esenti dal richiedere il consenso dell'utente. Anche le app preesistenti potrebbero essere idonee se l'utente ha già attivato le notifiche. Scopri di più in Esenzioni.

Ti consigliamo vivamente che la tua app fornisca opzioni di notifica nelle impostazioni per consentire agli utenti di aggiornare le preferenze di notifica.

Chiedi all'utente di attivare le notifiche non esenti

Per le notifiche non esenti, chiedi all'utente di indicare se vuole attivare la ricezione delle notifiche. Gli utenti che scelgono esplicitamente di ricevere notifiche le troveranno più utili e meno invasive.

Figura 13: richiesta del consenso di un utente per una notifica non esente

Attendi che venga visualizzata la finestra di dialogo di notifica:

  • Descrivi i vantaggi forniti dalle notifiche e il risultato della mancata concessione delle autorizzazioni per le notifiche.
  • Fornisci un'interfaccia utente contestuale, che mette in relazione la notifica con le sue funzionalità o con i suoi impatto. Questa UI può assumere qualsiasi forma per integrarsi al meglio all'interno dell'app, ad esempio la scheda all'interno di una tariffa, nel riquadro inferiore o nella schermata di onboarding. Ognuna di queste opzioni deve essere ignorabile.
  • Non mostrare la finestra di dialogo dell'autorizzazione alle notifiche se l'utente ha ignorato l'UI.

A partire da Android 13, agli utenti possono essere richieste nuovamente le autorizzazioni alle notifiche.

Notifiche obbligatorie

I servizi in primo piano eseguono operazioni visibili all'utente, ma non interagiscono direttamente con la tua app. Questi servizi mostrano una notifica nella barra di stato per informare gli utenti che la tua app sta eseguendo un'attività in primo piano e consuma risorse di sistema.

Figura 14: esempio di notifica del servizio in primo piano dell'app per l'attività fisica

Poiché questi processi consumano batteria ed eventualmente dati, la tua app deve metterli a conoscenza degli utenti mostrando una notifica non ignorabile. L'utente non può ignorare la notifica, quindi devi fornire un'azione affinché l'utente interrompa il servizio.

L'esempio seguente mostra una notifica di un'app per l'attività fisica. L'utente ha avviato una sessione di allenamento attiva, che crea un'istanza di un servizio in primo piano che monitora la sessione di allenamento. L'app mostra la notifica per indicare che sta rilevando la camminata, con un'opzione per vedere l'esercizio.

Quando non utilizzare una notifica

Non utilizzare le notifiche per i seguenti casi d'uso:

  • Per la promozione incrociata o la pubblicità di un altro prodotto (questa operazione è sgorosamente vietata dal Play Store)
  • Se l'utente non ha mai aperto la tua app
  • Come metodo principale di comunicazione con gli utenti
  • Per incoraggiare l'utente a tornare a un'app, ma non fornire alcun valore diretto (ad esempio, "Non ti vedo da un po' di tempo!")
  • Per le richieste di valutazione della tua app
  • Per operazioni che non richiedono il coinvolgimento dell'utente, come la sincronizzazione delle informazioni
  • Annuncio degli stati di errore da cui può eseguire il ripristino dell'app senza interazione dell'utente
  • Per messaggi di festività o compleanni
Invia auguri per le festività o di compleanno sotto forma di notifiche.
Interrompi l'utente nel corso di un'attività al solo scopo di chiedere se stai facendo un buon lavoro.

Comportamento

Tieni presente i seguenti comportamenti di notifica e come gestirli in determinati contesti.

Arrivo notifica

Quando arriva una notifica, Android la aggiunge al riquadro a scomparsa delle notifiche. A seconda dei parametri impostati e dello stato attuale del dispositivo, la notifica potrebbe eseguire una qualsiasi delle seguenti azioni:

  • Emetti un suono o provoca la vibrazione del telefono.
  • Visualizzato nella barra di stato con un'icona; in genere si tratta dell'icona dell'app, ma se hai più tipi di notifiche, utilizza un simbolo che ne indichi lo scopo.
  • Vengono visualizzati come notifica in evidenza, che sbirciano nella schermata corrente per attirare l'attenzione dell'utente.

Come sempre, l'utente può scegliere di modificare i comportamenti di notifica che imposti.

Figura 15:Arrivo delle notifiche

1 Indicatore di notifica nella barra di stato, che indica la presenza di una notifica nel riquadro a scomparsa delle notifiche.

2 Notifica che mostra la visualizzazione della schermata corrente per attirare l'attenzione dell'utente nel bel mezzo di un'attività.

Riquadro a scomparsa delle notifiche

Il riquadro a scomparsa delle notifiche di Android mostra in genere le notifiche in ordine cronologico inverso, con aggiustamenti influenzati dalle seguenti condizioni:

  • La priorità o l'importanza delle notifiche dichiarate dall'app
  • Se la notifica ha recentemente avvisato l'utente con un suono o una vibrazione
  • Tutte le persone allegate alla notifica e se sono contatti speciali
  • Se la notifica rappresenta un'attività importante in corso, ad esempio una telefonata in corso o la riproduzione
  • Alterazioni dell'aspetto di alcune notifiche da parte del sistema operativo Android in alto e in basso nell'elenco aggiungendo enfasi o deenfasi, che aiuta l'utente a esaminare i contenuti

Gestire le notifiche inattive

Il riquadro a scomparsa delle notifiche è progettato per mostrare agli utenti informazioni pertinenti al momento corrente. Se una notifica precedente è inattiva, ovvero non è più pertinente, ignorala in modo che l'utente non la veda.

Figura 16: nella parte superiore del riquadro a scomparsa delle notifiche viene visualizzato il testo appena arrivato, con una notifica con priorità più bassa relativa all'aggiunta di una foto in basso

Nuove notifiche indicate dal badge dell'icona dell'app

Nelle app di avvio supportati sui dispositivi con Android 8.0 (livello API 26) e versioni successive, le icone delle app mostrano un punto di notifica per indicare che all'app è associata una nuova notifica. Questi puntini vengono visualizzati per impostazione predefinita nelle app Avvio app che le supportano e l'app non deve fare nulla. Inoltre, è possibile disattivare e limitare i badge.

Figura 17: indicatore di notifica su un'icona di app, che indica all'app una nuova notifica associata

Azioni che gli utenti possono eseguire tramite le notifiche

Le notifiche possono consentire agli utenti di eseguire una qualsiasi delle seguenti azioni:

  • Vai a una destinazione: per navigare, un utente può toccare una notifica. Se la notifica viene visualizzata su uno schermo bloccato, l'utente deve toccarla due volte e inserire il PIN, la sequenza o la password.

    Quando l'utente tocca una notifica, la tua app deve visualizzare una UI che si riferisce direttamente alla notifica in questione e consentire all'utente di intraprendere un'azione immediata. Ad esempio, se la notifica indica che è il loro turno in una partita a due giocatori, quando tocchi la notifica l'utente verrà indirizzato direttamente alla partita.

  • Visualizza una visualizzazione espansa della notifica: nell'intestazione viene visualizzato un indicatore di espansione. Un utente può toccare l'indicatore o far scorrere il corpo della notifica verso il basso per espanderlo.

    Figura 18: notifica espansa
  • Ignorare la notifica (se consentito): un utente può ignorarla facendola scorrere verso sinistra o verso destra.

Le notifiche in corso che indicano che il processo è in corso in background, ad esempio la riproduzione di musica, non possono essere ignorate con lo scorrimento.

  • Posticipa una notifica: l'utente può scorrere verso l'alto su una notifica di avviso e non potrà più ricevere ulteriori notifiche relative all'evento per un minuto.

  • Controlla notifiche simili in futuro: gli utenti possono accedere ai controlli di notifica tramite:

    • Toccare e tenere premuta una singola notifica
    • Scorrimento della notifica verso sinistra o destra, quindi tocca l'icona delle impostazioni

I controlli visualizzati variano a seconda della versione di Android e della disponibilità di canali per le notifiche (a partire da Android 8.0).

Raggruppa più notifiche

Per le app che generano più notifiche dello stesso tipo, Android offre il raggruppamento delle notifiche per evitare di sovraccaricare gli utenti.

La tua app può presentare più notifiche in base alla seguente gerarchia.

  • Una notifica principale mostra un riepilogo delle relative notifiche secondarie.
  • Se l'utente espande la notifica principale, Android rivela tutte le notifiche secondarie.
  • L'utente può espandere una notifica per tuo figlio per visualizzarne l'intero contenuto.

Android presenta le notifiche per i bambini senza informazioni di intestazione duplicate. Ad esempio, se una notifica secondaria ha la stessa icona dell'app della notifica principale, l'intestazione della notifica secondaria non includerà un'icona.

Le notifiche per bambini e ragazzi devono essere comprensibili se appaiono singolarmente, in quanto il sistema potrebbe mostrarle al di fuori del gruppo al loro arrivo.

Figura 19: notifiche raggruppate, visualizzazioni compresse ed espanse.

Impostazioni

Canali

A partire da Android 8.0 (livello API 26), tutte le notifiche devono essere assegnate a un canale. Per ogni canale puoi impostare il comportamento visivo e uditivo da applicare a tutte le notifiche in quel canale. Gli utenti possono modificare queste impostazioni e decidere quali canali di notifica della tua app possono essere invasivi o visibili.

Per maggiori dettagli su come implementare questa funzionalità, vedi Creare e gestire i canali di notifica.

L'importanza deve essere scelta tenendo conto del tempo e dell'attenzione dell'utente. Quando una notifica non importante viene camuffata da urgente, può generare un allarme non necessario.

Importanza Comportamento Utilizzo Esempi
HIGH Emette un suono e viene visualizzato sullo schermo Informazioni urgenti che l'utente deve conoscere o agire immediatamente Messaggi di testo, sveglie, telefonate
DEFAULT Emette un suono Informazioni che dovrebbero essere visualizzate all'utente appena possibile, senza interrompere ciò che sta facendo Avvisi sul traffico, promemoria per le attività
LOW Nessun suono Canali di notifica che non soddisfano i requisiti di altri livelli di importanza Nuovi contenuti a cui l'utente si è iscritto, inviti ai social network
MIN Senza suoneria o interruzione visiva Informazioni non essenziali che possono attendere o non sono specificatamente pertinenti per l'utente Luoghi di interesse, meteo e contenuti promozionali nelle vicinanze

Categorie predefinite

Che tu utilizzi o meno i canali, assegna ogni singola notifica alla categoria predefinita più adatta. Android può usare queste informazioni per prendere decisioni relative a ranking e filtri.

Categoria Descrizione
CATEGORY_CALL Chiamata in arrivo (voce o video) o richiesta di comunicazione sincrona simile
CATEGORY_MESSAGE Messaggio diretto in arrivo (SMS, messaggio immediato, ecc.)
CATEGORY_EMAIL Messaggio collettivo asincrono (email)
CATEGORY_EVENT Evento di calendario
CATEGORY_PROMO Promozione o pubblicità
CATEGORY_ALARM Sveglia o timer
CATEGORY_PROGRESS Avanzamento di un'operazione in background a lunga esecuzione
CATEGORY_SOCIAL Aggiornamento sui social network o sulla condivisione
CATEGORY_ERROR Errore nell'operazione in background o nello stato dell'autenticazione
CATEGORY_TRANSPORT Controllo del trasporto di contenuti multimediali per la riproduzione
CATEGORY_SYSTEM Aggiornamento dello stato del sistema o del dispositivo. Riservato all'uso da parte del sistema.
CATEGORY_SERVICE Indicazione del servizio in background in esecuzione
CATEGORY_RECOMMENDATION Un consiglio specifico e tempestivo per un solo aspetto. Ad esempio, un'app di notizie potrebbe consigliare l'articolo successivo che l'utente potrebbe voler leggere.
CATEGORY_STATUS Informazioni continue sullo stato del dispositivo o contestuale

Notifiche schermata di blocco

Se un utente ha scelto di mostrare le notifiche quando lo schermo è bloccato, queste notifiche possono nascondere i contenuti contrassegnati come sensibili dalla tua app. Android valuta il livello di visibilità di ogni notifica per stabilire cosa può essere mostrato in sicurezza.

Imposta il livello di sensibilità per i contenuti sulle schermate di blocco

La privacy dell'utente è di fondamentale importanza, pertanto tieni presente che nella schermata di blocco possono essere visibili diversi livelli di notifica. Per ogni notifica creata, devi impostare il livello di visibilità su pubblica, privata o segreta.

  • Le notifiche pubbliche sono completamente visibili su schermate di blocco sicure.
  • Le notifiche relative ai segreti sono nascoste.
  • Le notifiche private sono al centro: mostrano solo le informazioni di base, inclusi il nome dell'app che le ha pubblicate e la relativa icona. Al posto dei normali contenuti, che sono nascosti, puoi scegliere di mostrare testo che non rivela informazioni personali, ad esempio 2 new messages.

Nell'esempio seguente, le notifiche della schermata di blocco per le app Gmail e Foto mostrano tutti i contenuti dopo che l'utente ha scelto di mostrare queste informazioni nella schermata di blocco.

Figura 20: schermata di blocco con livelli di sensibilità diversi.

1 Tutti i contenuti delle notifiche vengono mostrati nella schermata di blocco

2 Contenuti delle notifiche sensibili nascosti nella schermata di blocco

Stile

Testo chiaro e conciso

Android tronca i titoli dei contenuti a una riga singola (anche quando sono espansi).

Un titolo di contenuti efficace è conforme alle seguenti linee guida:

  • Non supera i 30 caratteri
  • Contiene le informazioni più importanti
  • Evita le variabili (a meno che non contengano un numero o una stringa di testo breve o siano precedute da un testo).
  • Esclude il nome dell'app, che è già visualizzato nell'intestazione
Mostra nel titolo dei contenuti il nome dell'app, che è ridondante con l'area di intestazione e utilizza i caratteri disponibili.
Mostra le informazioni più importanti nel titolo dei contenuti.

Un testo efficace per i contenuti è conforme alle seguenti linee guida:

  • Evita di superare il limite di 40 caratteri
  • Evita di ripetere i contenuti nel titolo dei contenuti

L'icona grande

Utilizza l'icona grande per i casi d'uso in cui le immagini rafforzano in modo significativo i contenuti della notifica. Ecco alcuni esempi:

  • Le comunicazioni provenienti da un'altra persona, ad esempio l'immagine di una persona che invia un messaggio
  • L'origine dei contenuti, se diversa dall'app che invia la notifica, ad esempio il logo di un canale YouTube a cui è iscritto un utente
  • Simboli significativi sulla notifica, ad esempio una freccia per le indicazioni stradali

Le icone grandi devono essere circolari quando si mostra una persona, ma quadrate in tutti gli altri casi.

Utilizza l'icona grande per il branding.
Utilizza l'icona grande per rafforzare i contenuti di una notifica in modo significativo, ad esempio mostrando la foto di una persona allegata alla notifica di un messaggio.

Aggiornamenti della versione di Android

L'interfaccia utente del sistema di notifica di Android e le API relative alle notifiche sono in continua evoluzione. Per un elenco di queste modifiche, consulta la sezione sulla compatibilità delle notifiche.

Considerazioni sulla piattaforma

Wear

Se l'utente ha un dispositivo Wear OS accoppiato, tutte le notifiche vengono visualizzate automaticamente lì, inclusi i dettagli espandibili e i pulsanti di azione. Per maggiori dettagli, visita la pagina di progettazione delle notifiche su Wear.