Le notifiche forniscono informazioni brevi, tempestive e pertinenti relative alla tua app quando non è in uso.
Il sistema operativo Android controlla molti aspetti delle notifiche, ma tu hai il controllo su altri aspetti. Segui questi passaggi quando implementi le notifiche:
- Comprendere la struttura di una notifica.
- Scegli il tipo di notifica per il tuo caso d'uso.
- Imposta la categoria di notifica in linea con il tipo di notifica che hai scelto.
Concetti principali
- Considera lo scopo della notifica: perché stai avvisando i tuoi utenti?
- Determina il pattern di autorizzazione delle notifiche, valuta l'importanza delle notifiche per la tua app e dove chiedere l'autorizzazione nel percorso dell'utente.
- Scegli il modello di notifica.
- Crea i contenuti della notifica:
- Il testo dell'intestazione deve riassumere in modo conciso la notifica.
- Il testo dei contenuti deve mostrare l'anteprima della notifica.
- Contenuti delle immagini, se applicabili ai contenuti della tua app.
- Key art e metadati per il modello di contenuti multimediali.
- Rendi ovvio ciò che l'utente può fare con una notifica fornendo azioni basate sui suoi contenuti tramite pulsanti di testo, digitazione o controlli multimediali.
- Includi l'icona dell'app e imposta il colore di sfondo dell'icona.
- Imposta i canali e le categorie per le notifiche. In questo modo, il sistema e l'utente possono personalizzare le notifiche che ricevono e definire il comportamento prioritario.
- Se la tua app potrebbe inviare più notifiche contemporaneamente, raggruppale.
- Dai un'occhiata all'Android UI Kit su Figma per i modelli di notifica.
Anatomia di una notifica
Le notifiche sono progettate per facilitare la scansione e l'utilizzo degli elementi più importanti. Tali elementi sono:
- Contenuti principali: costituiscono l'elemento più importante di una notifica. Le informazioni secondarie, come un 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 indicatore. Le azioni vengono visualizzate con etichette di testo su un colore di sfondo e una posizione separati.
Intestazione e contenuti della notifica
Quando è compressa, una notifica mostra l'icona dell'app, il testo dell'intestazione, il timestamp, l'indicatore di espansione e il testo dei contenuti. Può anche mostrare facoltativamente un'icona grande.
1 Icona dell'app:l'icona dell'app è una rappresentazione bidimensionale dell'identità della tua app. Viene visualizzata in bianco e nero nella barra di stato. Se la tua app invia un'ampia gamma di notifiche, valuta la possibilità di sostituire l'icona dell'app con un simbolo per distinguere i diversi tipi di notifiche. Per maggiori dettagli, consulta la sezione Applica il colore dell'icona.
2 Testo dell'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ù prominente 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 del contenuto: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 deriva il colore dell'icona dal colore della notifica impostato nell'app. Se l'app non imposta il colore, utilizza il colore del tema di sistema. In precedenza, il colore era grigio.
Per la maggior parte degli stili, il sistema applica questo colore solo se la notifica
riguarda un servizio in primo piano. Tuttavia, non esiste un requisito di questo tipo
per le notifiche MediaStyle e DecoratedMediaCustomViewStyle a cui è allegata
una sessione multimediale.
Il seguente snippet 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
1 Azioni dei pulsanti di testo
2 Pulsanti di azione con riempimento
3 Risposte suggerite
4 Campo di testo della risposta
A partire da Android 7.0 (livello API 24), il sistema mostra le azioni senza icone per ospitare 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 visualizzazione espansa per mostrare più informazioni all'utente senza allontanarti dalla notifica.
Quando viene espansa, una notifica può fornire fino a tre azioni di uno dei seguenti tipi:
- Risposte suggerite
- Azioni in evidenza (pulsanti a forma di pillola)
- Azioni di testo standard
Cosa non fare
Cosa fare
Attivare la digitazione nelle notifiche
Consenti all'utente di digitare direttamente in una notifica includendo un'azione Rispondi. È progettata per digitare una piccola quantità di testo, ad esempio per rispondere a un messaggio o prendere un breve appunto.
Per la digitazione di testi più lunghi, indirizza gli utenti alla tua 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 chiuderla automaticamente.
Scegli il tipo di notifica in base al tuo caso d'uso
Google utilizza i seguenti modelli di notifiche nelle sue app per Android. Questi modelli possono essere personalizzati in una certa misura per la tua app.
Dai un'occhiata all'UI Kit per Android su Figma per i modelli di notifiche.
Modello standard
Il modello standard è adatto alla maggior parte delle notifiche, in quanto consente di utilizzare testo conciso, un'icona grande (se applicabile) e azioni.
Modello di testo grande
Il modello di testo grande è ideale per visualizzare blocchi di testo più lunghi. Consente all'utente di visualizzare in anteprima più testo dopo aver espanso la notifica.
Modello del quadro generale
Il modello Big Picture è progettato per le notifiche contenenti un'immagine. Quando è compressa, la notifica mostra una miniatura grande dell'icona dell'immagine. Quando viene espansa, la notifica mostra un'anteprima molto più grande.
Modello di avanzamento
Il modello di avanzamento è progettato per le attività avviate dall'utente che richiedono tempo per essere completate. Quando viene espansa, una notifica che utilizza questo modello mostra una barra di avanzamento e include anche un'azione "Annulla" che consente all'utente di interrompere questa attività. Le attività non annullabili non giustificano le notifiche.
Modello di media
Il modello multimediale è progettato per consentire all'utente di controllare i contenuti multimediali attualmente riprodotti 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 dell'immagine.
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.
Modello di chiamata
Utilizza il modello CallStyle per generare notifiche di grande formato che includono un allegato di immagine di grandi dimensioni e indicano una chiamata in entrata o in uscita.
Autorizzazioni alle notifiche
Per quanto pertinenti e tempestive possano essere le notifiche, la maggior parte non sono esenti, 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 telefoniche sono esenti dalla richiesta di consenso dell'utente. Anche le app preesistenti potrebbero essere idonee se l'utente ha già attivato le notifiche. Per maggiori dettagli, consulta la sezione Esenzioni.
Ti consigliamo vivamente di fornire opzioni di notifica nelle impostazioni dell'app per consentire agli utenti di aggiornare le proprie preferenze di notifica.
Chiedere 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 le notifiche probabilmente le troveranno più utili e meno intrusive.
Attendi che venga visualizzata la finestra di dialogo di richiesta delle notifiche:
- Descrivi i vantaggi delle notifiche e le conseguenze del mancato consenso per le notifiche.
- Fornisci un'interfaccia utente contestuale che colleghi la notifica alle sue funzionalità o a ciò che riguarda. Questa UI può assumere qualsiasi forma per integrarsi al meglio nella tua app: ad esempio, una scheda all'interno di una tariffa, un foglio inferiore o una schermata di onboarding. Qualsiasi di questi deve essere ignorabile.
- Non mostrare la finestra di dialogo dell'autorizzazione delle notifiche se l'utente ha chiuso l'interfaccia utente.
A partire da Android 13, agli utenti può essere richiesto nuovamente di concedere le autorizzazioni alle notifiche.
Notifiche obbligatorie
I servizi in primo piano eseguono operazioni visibili all'utente, ma mentre non interagisce 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 sta consumando risorse di sistema.
Poiché questi processi utilizzano la batteria e possibilmente i dati, la tua app deve informare gli utenti mostrando una notifica non ignorabile. L'utente non può chiudere la notifica, pertanto devi fornire un'azione per interrompere il servizio.
Il seguente esempio mostra una notifica di un'app per il fitness. L'utente ha avviato una sessione di allenamento attiva, che crea un servizio in primo piano che monitora la sessione di allenamento. L'app mostra la notifica per indicare che sta monitorando la camminata, con un'opzione per visualizzare l'allenamento.
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 (rigorosamente 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 senza fornire un valore diretto (ad esempio, "Non ti vediamo da un po' di tempo!")
- Per le richieste di valutazione dell'app
- Per le operazioni che non richiedono il coinvolgimento dell'utente, come la sincronizzazione delle informazioni
- Per annunciare gli stati di errore da cui l'app può ripristinarsi senza l'interazione dell'utente
- Per i messaggi di auguri
Cosa non fare
Cosa non fare
Comportamento
Tieni presente i seguenti comportamenti delle notifiche e come gestirli in determinati contesti.
Arrivo della notifica
Quando arriva una notifica, Android la aggiunge al riquadro delle notifiche. A seconda dei parametri impostati e dello stato attuale del dispositivo, la notifica può eseguire una delle seguenti azioni:
- Emettere un suono o far vibrare lo smartphone.
- Visualizzazione 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 catturi lo scopo.
- Viene visualizzata come notifica di avviso che appare sullo schermo attuale per attirare l'attenzione dell'utente.
Come sempre, l'utente può scegliere di modificare i comportamenti di notifica che hai impostato.
1 Indicatore di notifica nella barra di stato, che indica la presenza di una notifica nel riquadro a scomparsa delle notifiche.
2 La notifica "sbircia" sullo schermo corrente per attirare l'attenzione dell'utente mentre svolge un'attività.
Riquadro delle notifiche
In genere, il riquadro delle notifiche di Android mostra le notifiche in ordine cronologico inverso, con modifiche influenzate dalle seguenti condizioni:
- La priorità o l'importanza dichiarata delle notifiche dell'app
- Se la notifica ha avvisato di recente l'utente con un suono o una vibrazione
- Le persone associate alla notifica e se sono contatti speciali
- Se la notifica rappresenta un'attività importante in corso, ad esempio una chiamata in corso o la riproduzione di musica
- Modifiche all'aspetto di alcune notifiche da parte del sistema operativo Android nella parte superiore e inferiore dell'elenco, con l'aggiunta di enfasi o riduzione dell'enfasi, per aiutare l'utente a scansionare i contenuti
Gestire le notifiche obsolete
Il riquadro delle notifiche è progettato per mostrare agli utenti informazioni pertinenti per il momento attuale. Se una notifica precedente è obsoleta, ovvero non è più pertinente, ignorala in modo che l'utente non la veda.
Nuove notifiche indicate dal badge dell'icona dell'app
Nei launcher supportati sui dispositivi con Android 8.0 (livello API 26) e versioni successive, le icone delle app mostrano un puntino di notifica per indicare che l'app ha una nuova notifica associata. Questi punti vengono visualizzati per impostazione predefinita nelle app di avvio che li supportano e la tua app non deve fare nulla. I badge possono anche essere disattivati e limitati.
Azioni che gli utenti possono eseguire con le notifiche
Le notifiche possono consentire agli utenti di eseguire una delle seguenti azioni:
Navigare verso una destinazione: per navigare, un utente può toccare una notifica. Se la notifica viene visualizzata su una schermata bloccata, l'utente deve toccarla due volte e poi inserire il PIN, la sequenza o la password.
Quando l'utente tocca una notifica, la tua app deve mostrare un'interfaccia utente correlata direttamente alla notifica e che consenta all'utente di intraprendere un'azione immediata. Ad esempio, se la notifica indica che è il suo turno in una partita a due giocatori, toccando la notifica dovrebbe essere 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 scorrere verso il basso il corpo della notifica per espanderla.
Figura 18: notifica espansa Ignorare la notifica (se consentito): un utente può ignorarla scorrendo verso sinistra o destra.
Le notifiche in corso che indicano un processo continuo in background, ad esempio la riproduzione di musica, potrebbero non essere chiuse con uno scorrimento.
Posticipare una notifica di avviso: un utente può scorrere verso l'alto su una notifica di avviso e non sono consentite ulteriori notifiche da quell'evento per un minuto.
Controllare notifiche simili in futuro: gli utenti possono accedere ai controlli delle notifiche:
- Toccando e tenendo premuta una singola notifica
- Scorrendo la notifica verso sinistra o destra e toccando l'icona delle impostazioni
I controlli visualizzati variano a seconda della versione di Android e se l'app dispone di canali per le notifiche (a partire da Android 8.0).
Raggruppare 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 per i genitori mostra un riepilogo delle notifiche per i figli.
- Se l'utente espande la notifica principale, Android mostra tutte le notifiche secondarie.
- Un utente può espandere una notifica secondaria per visualizzarne l'intero contenuto.
Android presenta le notifiche dei figli 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 include un'icona.
Le notifiche per i bambini devono essere comprensibili se vengono visualizzate da sole, poiché il sistema potrebbe mostrarle al di fuori del gruppo quando arrivano.
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 che viene applicato a tutte le notifiche del canale. Gli utenti possono modificare queste impostazioni e decidere quali canali di notifica della tua app possono essere intrusivi o visibili.
Per informazioni dettagliate su come implementare questa funzionalità, consulta 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 mascherata come urgente, può generare un allarme non necessario.
| Importanza | Comportamento | Utilizzo | Esempi |
|---|---|---|---|
HIGH |
Emette un suono e appare sullo schermo | Informazioni urgenti che l'utente deve conoscere o su cui deve intervenire immediatamente | Messaggi, sveglie, chiamate |
DEFAULT |
Emette un suono | Informazioni che devono essere visualizzate al più presto dall'utente, ma che non devono interrompere ciò che sta facendo | Avvisi sul traffico, promemoria sulle 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 sui social network |
MIN |
Senza suoneria o interruzione visiva | Informazioni non essenziali che possono attendere o non sono specificamente pertinenti per l'utente | Luoghi di interesse nelle vicinanze, meteo, contenuti promozionali |
Categorie predefinite
Indipendentemente dal fatto che tu utilizzi o meno i canali, assegna ogni singola notifica alla categoria predefinita più adatta. Android potrebbe utilizzare queste informazioni per prendere decisioni in merito al ranking e al filtraggio.
| Categoria | Descrizione |
|---|---|
CATEGORY_CALL |
Chiamata in arrivo (vocale o video) o richiesta di comunicazione sincrona simile |
CATEGORY_MESSAGE |
Messaggio diretto in arrivo (SMS, messaggio istantaneo e così via) |
CATEGORY_EMAIL |
Messaggio collettivo asincrono (email) |
CATEGORY_EVENT |
Evento di Calendar |
CATEGORY_PROMO |
Promozione o pubblicità |
CATEGORY_ALARM |
Sveglia o timer |
CATEGORY_PROGRESS |
Avanzamento di un'operazione in background a lunga esecuzione |
CATEGORY_SOCIAL |
Aggiornamento di un social network o della condivisione |
CATEGORY_ERROR |
Errore nell'operazione in background o nello stato di autenticazione |
CATEGORY_TRANSPORT |
Controllo del trasporto dei contenuti multimediali per la riproduzione |
CATEGORY_SYSTEM |
Aggiornamento dello stato del sistema o del dispositivo. Riservato per l'utilizzo da parte del sistema. |
CATEGORY_SERVICE |
Indicazione del servizio in background in esecuzione |
CATEGORY_RECOMMENDATION |
Un consiglio specifico e tempestivo per una singola azione. Ad esempio, un'app di notizie potrebbe consigliare una notizia che l'utente potrebbe voler leggere. |
CATEGORY_STATUS |
Informazioni in corso sullo stato del dispositivo o contestuale |
Notifiche nella schermata di blocco
Se un utente ha scelto di mostrare le notifiche quando lo schermo è bloccato, queste possono nascondere i contenuti che la tua app contrassegna come sensibili. Android valuta il livello di visibilità di ogni notifica per determinare cosa può essere mostrato in modo sicuro.
Impostare il livello di sensibilità per i contenuti nelle schermate di blocco
La privacy degli utenti è di fondamentale importanza, quindi tieni presente che esistono diversi livelli di notifica che possono essere visibili nella schermata di blocco. Per ogni notifica che crei, devi impostare il livello di visibilità su pubblico, privato o segreto.
- Le notifiche pubbliche sono completamente visibili sulle schermate di blocco sicure.
- Le notifiche Segreto sono nascoste.
- Le notifiche private si trovano a metà: mostrano solo le informazioni di base,
inclusi il nome dell'app che le ha pubblicate e la relativa icona. Al posto dei
contenuti normali, che sono nascosti, puoi mostrare facoltativamente un 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 visualizzare queste informazioni sulla schermata di blocco.
1 Tutti i contenuti delle notifiche mostrati nella schermata di blocco
2 Contenuti sensibili della notifica nascosti nella schermata di blocco
Stile
Testo chiaro e conciso
Android tronca i titoli dei contenuti su una sola riga (anche quando sono espansi).
Un buon titolo dei contenuti rispetta le 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 oppure non siano precedute da testo)
- Esclude il nome dell'app, che è già presente nell'intestazione
Cosa non fare
Cosa fare
Il testo dei contenuti di qualità rispetta le seguenti linee guida:
- Evita di superare il limite di 40 caratteri
- Evita di ripetere ciò che è presente 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:
- Comunicazioni di un'altra persona, ad esempio l'immagine di qualcuno 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 un utente è iscritto
- Simboli significativi relativi alla notifica, ad esempio una freccia per le indicazioni stradali
Le icone grandi devono essere circolari quando mostrano una persona, ma quadrate in tutti gli altri casi.
Cosa non fare
Cosa fare
Aggiornamenti della versione di Android
L'interfaccia utente del sistema di notifiche Android e le API correlate alle notifiche sono in continua evoluzione. Per un elenco di queste modifiche, consulta la compatibilità delle notifiche.
Considerazioni sulla piattaforma
Wear
Se l'utente ha un dispositivo Wear OS accoppiato, tutte le tue notifiche vengono visualizzate automaticamente, inclusi i dettagli espandibili e i pulsanti di azione. Per maggiori dettagli, consulta la pagina di progettazione delle notifiche su Wear.