Android 16 introduce un nuovo modello di notifica per aiutare gli utenti a monitorare senza problemi i percorsi avviati dagli utenti, dall'inizio alla fine. Queste notifiche hanno una visibilità maggiore sulle superfici di sistema e una posizione migliore nel riquadro a scomparsa delle notifiche.
Utilizza Notification.ProgressStyle per stilizzare le notifiche incentrate sull'avanzamento.
I casi d'uso principali includono ridesharing, consegna e navigazione. All'interno
di questa classe, puoi indicare stati e traguardi nel percorso
di un utente utilizzando punti e segmenti.
Classi pertinenti
Le seguenti classi contengono le diverse API che utilizzi per creare una notifica
ProgressStyle:
Anatomia e personalizzazione
Le seguenti immagini mostrano le diverse parti che compongono le notifiche ProgressStyle:
A. Intestazione - Sottotesto |
|
B. Intestazione - Ora |
|
C. Titolo dei contenuti |
|
D. Testo del contenuto |
|
E. Barra di avanzamento |
|
F. Pulsante Azione |
Best practice
Utilizza le API giuste e segui le best practice per offrire la migliore esperienza utente per gli aggiornamenti sullo stato di avanzamento.
- Imposta i campi giusti per soddisfare la visibilità promossa nell'area notifiche.
- Utilizza gli elementi visivi giusti per guidare gli utenti. Ad esempio, le app di ridesharing
devono impostare un'immagine del veicolo e utilizzare il colore più preciso del veicolo
nella notifica utilizzando
Notification#setLargeIcon. - Utilizza un linguaggio conciso e chiaro per definire l'avanzamento del percorso dell'utente. L'ora di arrivo, il nome del conducente e lo stato del viaggio sono informazioni importanti che la notifica deve comunicare.
- Fornisci azioni utili e pertinenti nella notifica che semplificano il percorso dell'utente. Ad esempio, fornire "Manica" e "Aggiungi piatto" a un ordine di consegna di cibo appena avviato sono azioni utili prima della consegna.
- Utilizza segmenti e punti per indicare gli stati. Ad esempio, i segmenti possono colorare lo stato e la durata del traffico in un viaggio in ridesharing. I punti rappresentano gli stati delle tappe fondamentali come la preparazione del cibo, la consegna e il ritiro dei passeggeri.
- Aggiorna l'esperienza di avanzamento in modo che rifletta accuratamente l'avanzamento effettivo del percorso. Ad esempio, le variazioni delle condizioni del traffico possono riflettersi in cambiamenti dei colori dei segmenti e aggiornamenti nel testo.
Il seguente snippet di codice mostra come una notifica ProgressStyle potrebbe essere
utilizzata per un contesto di ridesharing:
var ps =
Notification.ProgressStyle()
.setStyledByProgress(false)
.setProgress(456)
.setProgressTrackerIcon(Icon.createWithResource(appContext, R.drawable.ic_car_red))
.setProgressSegments(
listOf(
Notification.ProgressStyle.Segment(41).setColor(Color.BLACK),
Notification.ProgressStyle.Segment(552).setColor(Color.YELLOW),
Notification.ProgressStyle.Segment(253).setColor(Color.WHITE),
Notification.ProgressStyle.Segment(94).setColor(Color.BLUE)
)
)
.setProgressPoints(
listOf(
Notification.ProgressStyle.Point(60).setColor(Color.RED),
Notification.ProgressStyle.Point(560).setColor(Color.GREEN)
)
)
Consulta l'[app di esempio][8]{:.external} per sperimentare queste API.