Panoramica delle notifiche

Una notifica è un messaggio che Android mostra al di fuori dell'UI dell'app per fornire all'utente promemoria, comunicazioni da altre persone o informazioni tempestive dall'app. Gli utenti possono toccare la notifica per aprire o eseguire un'azione direttamente dalla notifica.

Questa pagina fornisce una panoramica di dove vengono visualizzate le notifiche e delle opzioni le funzionalità di machine learning. Per iniziare a creare notifiche, leggi l'articolo Creare un di notifica.

Per ulteriori informazioni sulla progettazione delle notifiche e sui pattern di interazione, consulta Design delle notifiche .

Aspetto su un dispositivo

Le notifiche vengono mostrate automaticamente agli utenti di località e formati diversi. Una notifica viene visualizzata sotto forma di icona nella barra di stato, mentre una voce più dettagliata riquadro delle notifiche e un badge sull'icona dell'app. Anche le notifiche appaiono sugli indossabili accoppiati.

Barra di stato e riquadro a scomparsa delle notifiche

Quando invii una notifica, questa viene prima visualizzata sotto forma di icona nella barra di stato.

Figura 1. Le icone di notifica vengono visualizzate sul lato sinistro dello stato .

Gli utenti possono scorrere verso il basso sulla barra di stato per aprire il riquadro a scomparsa delle notifiche, dove possono visualizzare ulteriori dettagli e compiere azioni con la notifica.

Figura 2. Notifiche nel riquadro a scomparsa delle notifiche.

Gli utenti possono trascinare verso il basso una notifica nel riquadro a scomparsa per mostrare la visualizzazione espansa. che mostra contenuti e pulsanti di azione aggiuntivi, se disponibili. A partire da In Android 13, questa visualizzazione espansa include un pulsante che consente agli utenti interrompere un'app in primo piano Google Cloud.

Una notifica rimane visibile nel riquadro a scomparsa delle notifiche finché non viene chiusa. dall'app o dall'utente.

Notifica di avviso

A partire da Android 5.0, le notifiche possono apparire brevemente in una barra mobile chiamata notifica di avviso. Questo comportamento è normalmente indicato per notifiche di cui l'utente deve essere a conoscenza immediatamente e vengono visualizzate se il dispositivo è sbloccato.

Figura 3. Viene visualizzata una notifica di avviso di fronte al app in primo piano.

La notifica di avviso viene visualizzata quando l'app invia la notifica. it scompare dopo un istante, ma rimane visibile nel riquadro di notifica a scomparsa al solito.

Di seguito sono riportate le condizioni che potrebbero attivare le notifiche in evidenza:

  • L'attività dell'utente è in modalità a schermo intero, ad esempio quando l'app utilizza fullScreenIntent

  • La notifica ha priorità elevata e utilizza suonerie o vibrazioni dispositivi con Android 7.1 (livello API 25) e versioni precedenti.

  • Il canale di notifica è molto importante sui dispositivi con Android 8.0 (livello API 26) e versioni successive.

Schermata di blocco

A partire dal rilascio di Android 5.0, le notifiche possono essere visualizzate nella schermata di blocco.

Puoi impostare in modo programmatico se le notifiche pubblicate dalla tua app vengono mostrate su un una schermata di blocco protetta e, in tal caso, il livello di dettaglio visibile.

Gli utenti possono usare le impostazioni di sistema per scegliere il livello di dettaglio visibile nella serratura notifiche nella schermata di blocco o per disattivare tutte le notifiche. A partire da Android 8.0, gli utenti possono disattivare o attivare le notifiche nella schermata di blocco per ogni canale di notifica.

Figura 4. Notifiche nella schermata di blocco con contenuti sensibili nascosti.

Per ulteriori informazioni, vedi Impostare la schermata di blocco visibilità.

Badge dell'icona dell'app

Nei launcher supportati sui dispositivi con Android 8.0 (livello API 26) e versioni successive, le icone delle app indicano le nuove notifiche con un badge colorato, chiamato punto di notifica sull'icona in Avvio applicazioni corrispondente.

Gli utenti possono toccare e tieni premuta l'icona di un'app per vedere le relative notifiche. Utenti può ignorare o intervenire sulle notifiche di quel menu, come per le notifiche riquadro a scomparsa.

Figura 5. Badge di notifica e i pulsanti touch e tieni premuto il menu.

Per scoprire di più su come funzionano i badge, consulta Modificare una notifica badge.

Wear OS

Se l'utente ha un dispositivo Wear OS accoppiato, lì vengono visualizzate tutte le notifiche automaticamente, inclusi dettagli espandibili e pulsanti di azione.

Puoi migliorare l'esperienza personalizzando l'aspetto del tuo notifiche su indossabili e offrendo diverse azioni, tra cui: risposte suggerite e risposte con input vocale. Per ulteriori informazioni, scopri come aggiungere specifiche per gli indossabili al tuo di notifica.

Figura 6. Le notifiche vengono visualizzate automaticamente su Wear OS accoppiato dispositivo.

Anatomia delle notifiche

Il design delle notifiche è determinato dai modelli di sistema e dall'app definisce i contenuti di ogni parte del modello. Alcuni dettagli vengono visualizzate solo nella vista espansa.

Figura 7. Una notifica con dettagli di base.

Le parti più comuni di una notifica sono indicate nella figura 7, come segue:

  1. Icona piccola: obbligatoria; imposta con setSmallIcon().
  2. Nome app: fornito dal sistema.
  3. Timestamp: fornito dal sistema, ma puoi sostituirlo utilizzando setWhen() oppure nascondila utilizzando setShowWhen(false).
  4. Icona grande: facoltativa; in genere utilizzato solo per le foto dei contatti. Non utilizzarlo per l'icona dell'app. Imposta con setLargeIcon().
  5. Titolo: facoltativo; imposta con setContentTitle().
  6. Testo: facoltativo; imposta con setContentText().

Consigliamo vivamente di utilizzare modelli di sistema per una compatibilità di progettazione adeguata su su tutti i dispositivi. Se necessario, puoi creare una notifica personalizzata layout.

Per ulteriori informazioni su come creare una notifica con queste funzionalità e leggi l'articolo Creare un di notifica.

Azioni di notifica

Sebbene non sia obbligatorio, è buona norma che ogni notifica apra un'attività dell'app appropriata quando viene toccato. Oltre a questa impostazione un'azione di notifica, puoi aggiungere pulsanti di azione che completano un'attività dalla notifica, spesso senza aprire un'attività, come mostrato nella figura 8.

Figura 8. Una notifica con pulsanti di azione.

A partire da Android 7.0 (livello API 24), puoi aggiungere un'azione a cui rispondere o inserire altro testo direttamente dalla notifica.

A partire da Android 10 (livello API 29), la piattaforma può generare automaticamente pulsanti di azione con azioni suggerite basate sull'intent.

L'aggiunta di pulsanti di azione è spiegata più dettagliatamente nella sezione Creare un pulsante di notifica.

Richiedi un dispositivo sbloccato

Gli utenti potrebbero vedere le azioni di notifica nella schermata di blocco del dispositivo. Se un'azione di notifica determina l'avvio di un'attività da parte di un'app o l'invio di una risposta diretta, Gli utenti devono sbloccare il dispositivo prima che l'app possa richiamare l'azione di notifica.

Su Android 12 (livello API 31) e versioni successive, puoi configurare un'azione di notifica in modo che il dispositivo sia sbloccato affinché l'app possa richiamare l'azione, a prescindere dal flusso di lavoro avviato dall'azione. Questa opzione aggiunge un ulteriore livello sicurezza delle notifiche sui dispositivi bloccati.

Per richiedere che un dispositivo venga sbloccato prima che la tua app richiami una determinata notifica azione, trasmetti true in setAuthenticationRequired() quando crei l'azione di notifica, come mostrato nello snippet di codice seguente:

Kotlin

val moreSecureNotification = Notification.Action.Builder(...)

    // This notification always requests authentication when invoked
    // from a lock screen.
    .setAuthenticationRequired(true)
    .build()

Java

Notification moreSecureNotification = new Notification.Action.Builder(...)

    // This notification always requests authentication when invoked
    // from a lock screen.
    .setAuthenticationRequired(true)
    .build();

Notifica espandibile

Per impostazione predefinita, il contenuto testuale della notifica viene troncato per rientrare in una riga. Se vuoi che la notifica duri più a lungo, puoi attivare un'area di testo più grande espandibile mediante l'applicazione di un modello aggiuntivo, come mostrato nella Figura 9.

Figura 9. Una notifica espandibile per i dispositivi di grandi dimensioni testo.

Puoi anche creare una notifica espandibile con un'immagine, in stile casella di posta, con una conversazione in chat o con i controlli di riproduzione dei contenuti multimediali. Per ulteriori informazioni, consulta Creare una notifica espandibile.

Aggiornamenti e gruppi delle notifiche

Per evitare di inondare i tuoi utenti di notifiche multiple o ridondanti quando se ci sono ulteriori aggiornamenti, aggiorna un notifica rispetto a emetterne uno nuovo o utilizzare lo stile di posta in arrivo notifica per mostrare gli aggiornamenti delle conversazioni.

Tuttavia, se è necessario recapitare più notifiche, valuta la possibilità di raggruppare le notifiche separate in un gruppo, disponibile su Android 7.0 e versioni successive.

Un gruppo di notifiche consente di comprimere più notifiche in un unico post in riquadro delle notifiche con un riepilogo. L'utente può espandere progressivamente gruppo di notifiche e ciascuna notifica al suo interno per ulteriori dettagli, come illustrato in figura 10.

Figura 10. Un gruppo di notifiche compresso ed espanso.

Per informazioni su come aggiungere notifiche a un gruppo, vedi Creare un gruppo di notifiche notifiche.

Canali di notifica

A partire da Android 8.0 (livello API 26), tutte le notifiche devono essere assegnate a un canale attivo o non vengono visualizzati. In questo modo gli utenti possono disattivare notifiche specifiche canali per la tua app anziché disattivare tutte le notifiche. Gli utenti possono controlla le opzioni visive e uditive di ogni canale dal sistema Android come mostrato nella Figura 11. Gli utenti possono anche toccare e tieni una notifica per modificare i comportamenti del canale associato.

Sui dispositivi con Android 7.1 (livello API 25) e versioni precedenti, gli utenti possono gestire le notifiche solo per app. Ogni app ha effettivamente un solo canale su Android 7.1 e versioni precedenti.

Figura 11. Impostazioni di notifica per l'app Orologio e per uno dei suoi canali.

Un'app può avere canali separati per ogni tipo di notifica per cui si verifica il problema. Un'app può anche creare canali di notifica in risposta alle scelte effettuate utenti. Ad esempio, puoi impostare canali di notifica separati per ogni gruppo di conversazione creato da un utente in un'app di messaggistica.

Il canale è anche il luogo in cui specifichi il livello di importanza per il tuo notifiche su Android 8.0 e versioni successive, in modo che vengano pubblicate tutte canale di notifica hanno lo stesso comportamento. Questa procedura è descritta di seguito .

Per saperne di più, consulta Creare e gestire le notifiche canali di YouTube.

Importanza delle notifiche

Android utilizza l'importanza di una notifica per determinare l'entità la notifica interrompe la visualizzazione e l'udito dell'utente. Maggiore è l'importanza più invasiva è la notifica.

Su Android 7.1 (livello API 25) e inferiori, l'importanza di una notifica è determinata dalla della notifica priority

Su Android 8.0 (livello API 26) e versioni successive, l'importanza di una notifica è determinato dal importance del canale su cui viene pubblicata la notifica. Gli utenti possono modificare l'importanza un canale di notifica nelle impostazioni di sistema, come mostrato nella Figura 12.

Figura 12. Gli utenti possono cambiare l'importanza di ogni canale su Android 8.0 e versioni successive.

I possibili livelli di importanza e i comportamenti di notifica associati sono seguenti:

  • Urgente: emette un suono e viene visualizzato come avviso di avviso.

  • Alto: emette un suono.

  • Media: non emette alcun suono.

  • Bassa: non emette alcun suono e non viene visualizzata nella barra di stato.

Tutte le notifiche, indipendentemente dall'importanza, vengono visualizzate in un sistema non invasivo Posizioni dell'interfaccia utente, ad esempio nel riquadro a scomparsa delle notifiche e come badge in Avvio app . Tuttavia, puoi modificare l'aspetto della notifica badge.

Per ulteriori informazioni, leggi questo articolo su come impostare l'importanza.

Modalità Non disturbare

A partire da Android 5.0 (livello API 21), gli utenti possono attivare la modalità Non disturbare. che disattiva i suoni e la vibrazione per tutte le notifiche. Notifiche ancora vengono visualizzati normalmente nell'interfaccia utente di sistema, a meno che l'utente non specifichi diversamente.

Nella modalità Non disturbare sono disponibili tre livelli:

  • Silenzio totale: blocca tutti i suoni e le vibrazioni, incluse sveglie, musica, video e giochi.
  • Solo sveglie: blocca tutti i suoni e le vibrazioni, ad eccezione delle sveglie.
  • Solo con priorità: gli utenti possono configurare quali categorie a livello di sistema possono interromperle, ad esempio solo sveglie, promemoria, eventi, chiamate o messaggi. Per i messaggi e le chiamate, gli utenti possono filtrare in base al mittente o al chiamante, come mostrato come mostrato nella figura 13.

Figura 13. Gli utenti possono consentire le notifiche in base a categorie a livello di sistema (a sinistra) e mittente o chiamante (a destra).

Su Android 8.0 (livello API 26) e versioni successive, gli utenti possono inoltre consentire notifiche per categorie specifiche delle app, note anche come canali, sostituendo la modalità Non disturbare a livello di canale. Per Ad esempio, un'app di pagamento potrebbe avere canali per le notifiche relative a prelievi e depositi. L'utente può consentire le notifiche di recesso, il bonifico notifiche o entrambe quando è attiva la modalità Priorità.

Sui dispositivi con Android 7.1 (livello API 25) e versioni precedenti, gli utenti possono consentire le notifiche per le singole app, non canale per canale.

Per configurare le notifiche per queste impostazioni utente, devi impostare un a livello di sistema .

Notifiche per i servizi in primo piano

È necessaria una notifica quando l'app è in primo piano : un Service in esecuzione uno sfondo duraturo e visibile all'utente, come un contenuto multimediale un player. Questa notifica non può essere ignorata come le altre. Per rimuovere la notifica, il servizio deve essere interrotto o rimosso dal primo piano stato.

Per ulteriori informazioni, leggi la sezione Primo piano Google Cloud. Se stai creando un file multimediale leggi anche Riproduzione di contenuti multimediali in background.

Limiti di pubblicazione

A partire da Android 8.1 (livello API 27), le app non possono emettere un suono di notifica più di una volta al secondo. Se la tua app pubblica più notifiche in una secondo, vengono tutte visualizzate come previsto, ma solo la prima notifica al secondo emette un suono.

Tuttavia, Android applica un limite di frequenza anche quando si aggiorna una notifica. Se pubblicare gli aggiornamenti di una singola notifica troppo spesso, ad esempio in un secondo, il sistema potrebbe rilasciare aggiornamenti.

Compatibilità delle notifiche

L'interfaccia utente del sistema di notifica di Android e le API relative alle notifiche per evolversi. Per utilizzare le funzionalità dell'API di notifica più recenti supportando al contempo le versioni precedenti utilizzare l'API di notifica Support Library, NotificationCompat, e le relative sottoclassi, NotificationManagerCompat. Ciò consente di evitare di scrivere codice condizionale per controllare i livelli API, poiché le API se ne occupano.

NotificationCompat viene aggiornato con l'evoluzione della piattaforma per includere le più recenti di machine learning. Tuttavia, la disponibilità di un metodo in NotificationCompat non corrisponde garantire che la funzionalità corrispondente venga fornita sui dispositivi meno recenti. In alcuni casi, la chiamata a un'API appena introdotta comporta l'assenza di operazioni sui dispositivi meno recenti.

Di seguito è riportato un riepilogo delle modifiche più significative del comportamento per livello API per Notifiche Android.

Android 5.0, livello API 21

  • Introduce la schermata di blocco e le notifiche in evidenza.

  • Consente all'utente di impostare il telefono in modalità Non disturbare e configurare quale le notifiche possono interromperle quando il dispositivo è acceso modalità solo priorità.

  • Aggiunge metodi per stabilire se mostrare o meno una notifica sulla schermata di blocco, come setVisibility()), e per specificare una versione "pubblica" del testo della notifica.

  • Aggiunge il metodo setPriority(), che indica al sistema quanto sia invasivo . Ad esempio, se imposti la priorità su Alta, vengono visualizzate come notifiche di avviso.

  • Aggiunge il supporto degli stack di notifiche su Android Wear (ora chiamato Wear OS) dispositivi mobili. Raggruppa le notifiche utilizzando setGroup() Gli stack di notifiche, in seguito noti come gruppo o bundle, non sono supportati tablet o smartphone fino ad Android 7.0 (livello API 24).

Android 7.0, livello API 24

  • Modifica lo stile dei modelli di notifica per enfatizzare l'immagine hero e avatar.

  • Aggiunge tre modelli di notifica: uno per le app di messaggistica e l'altro due per decorare le visualizzazioni di contenuti personalizzate con l'invito espandibile e altre le decorazioni del sistema.

  • Aggiunge il supporto ai dispositivi portatili, come telefoni e tablet, per gruppi di notifica. Usa la stessa API di Android Wear (ora chiamato Wear OS) di notifica introdotte in Android 5.0 (livello API 21).

  • Consente agli utenti di rispondere all'interno di una notifica utilizzando la risposta in linea. Possono inserire il testo, che viene quindi indirizzato all'app principale della notifica.

Android 8.0, livello API 26

  • Consente di inserire singole notifiche in un del canale.

  • Consente agli utenti di disattivare le notifiche per ogni canale, anziché disattivarle tutte le notifiche di un'app.

  • Consente alle app con notifiche attive di visualizzare un badge di notifica sopra l'icona dell'app nella schermata Home o in Avvio applicazioni.

  • Consente agli utenti di posticipare una notifica dal riquadro a scomparsa. Puoi impostare un'impostazione automatica timeout per una notifica.

  • Consente di impostare il colore di sfondo della notifica.

  • Sposta alcune API relative ai comportamenti delle notifiche da Da Notification a NotificationChannel. Ad esempio, utilizza NotificationChannel.setImportance() anziché NotificationCompat.Builder.setPriority() per Android 8.0 e versioni successive.

Android 13.0, livello API 33

Android 14.0, livello API 34

  • Limita le notifiche di intent a schermo intero alle app che forniscono chiamate e sveglie. Utilizza l'API NotificationManager.canUseFullScreenIntent per controlla se la tua app ha l'autorizzazione. In caso contrario, l'app può usare ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT per aprire la pagina delle impostazioni. in cui gli utenti possono concedere l'autorizzazione.

  • Modifica il modo in cui gli utenti visualizzano le notifiche non ignorabili consentendo di ignorare l'azione di notifica anche quando Il flag Notification.FLAG_ONGOING_EVENT è impostato. Ciò non si applica a CallStyle notifiche se il flag Notification.FLAG_ONGOING_EVENT è un controller dei criteri dei dispositivi (Device Policy Controller, DPC) e pacchetti di supporto per per l'azienda. Non vale neanche quando lo smartphone è bloccato o se l'utente seleziona Cancella tutto.