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 personalizzare lo stile delle notifiche incentrate sull'avanzamento.
I casi d'uso principali includono il car sharing, la consegna e la navigazione. All'interno di questa classe, puoi indicare stati e tappe fondamentali di un percorso dell'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 di ProgressStyle:
A. Header - Subtext |
|
B. Header - Time |
|
C. Titolo contenuti |
|
D. Testo dei contenuti |
|
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 sull'avanzamento.
- Imposta i campi corretti per soddisfare i requisiti di visibilità in evidenza nell'area notifiche.
- Utilizza gli elementi visivi giusti per guidare gli utenti. Ad esempio, le app di rideshare devono impostare un'immagine del veicolo e utilizzare il colore più preciso del veicolo nella notifica utilizzando
Notification#setLargeIcon. - Utilizza un linguaggio chiaro e conciso per definire l'avanzamento del percorso dell'utente. L'orario di arrivo, il nome del conducente e lo stato del percorso sono informazioni importanti che la notifica deve comunicare.
- Fornisci azioni utili e pertinenti nella notifica per semplificare il percorso dell'utente. Ad esempio, fornire "Mancia" 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 percorso di ride sharing. I punti rappresentano gli stati per tappe fondamentali come la preparazione del cibo, la consegna e il ritiro dei passeggeri.
- Aggiorna l'esperienza di avanzamento in modo che rifletta con precisione l'avanzamento effettivo del percorso. Ad esempio, le variazioni delle condizioni del traffico possono essere riflesse in modifiche ai colori dei segmenti e aggiornamenti del testo.
Il seguente snippet di codice mostra come utilizzare una notifica ProgressStyle per un contesto di car sharing:
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 per sperimentare con queste API.