O Android 16 apresenta um novo modelo de notificação para ajudar os usuários a acompanhar jornadas completas iniciadas por eles. Essas notificações têm visibilidade atualizada nas superfícies do sistema e classificação mais alta na gaveta de notificações.
Use Notification.ProgressStyle para estilizar notificações centradas no progresso.
Os principais casos de uso incluem carona compartilhada, entrega e navegação. Nessa classe, é possível indicar estados e marcos em uma jornada do usuário usando pontos e segmentos.
Classes relevantes
As classes a seguir contêm as diferentes APIs usadas para criar uma notificação ProgressStyle:
Anatomia e personalização
As imagens a seguir mostram as diferentes partes que compõem as notificações ProgressStyle:
A. Cabeçalho - Subtexto |
|
B. Cabeçalho - Hora |
|
C. Título do conteúdo |
|
D. Texto do conteúdo |
|
E. Barra de progresso |
|
F. Botão de ação |
Práticas recomendadas
Use as APIs certas e siga as práticas recomendadas para oferecer a melhor experiência do usuário para atualizações de progresso.
- Defina os campos certos para atender à visibilidade promovida na aba de notificações.
- Use os elementos visuais certos para orientar os usuários. Por exemplo, os apps de carona compartilhada
precisam definir uma imagem do veículo e usar a cor mais precisa do veículo em
a notificação usando
Notification#setLargeIcon. - Use uma linguagem concisa e clara para definir o progresso da jornada do usuário. A hora de chegada, o nome do motorista e o estado da jornada são textos importantes que a notificação precisa comunicar.
- Forneça ações úteis e relevantes na notificação que simplificam a jornada do usuário. Por exemplo, fornecer "Gorjeta" e "Adicionar prato" a um pedido de entrega de comida recém-iniciado são ações úteis antes da entrega.
- Use segmentos e pontos para indicar estados. Por exemplo, os segmentos podem colorir o estado e a duração do trânsito em uma jornada de carona compartilhada. Os pontos representam estados para marcos, como preparação de alimentos, entrega e embarque de passageiros.
- Atualize a experiência de progresso para refletir com precisão a progressão real da jornada. Por exemplo, as mudanças nas condições de trânsito podem ser refletidas em mudanças nas cores dos segmentos e atualizações no texto.
O snippet de código a seguir mostra como uma notificação ProgressStyle pode ser usada em um contexto de carona compartilhada:
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)
)
)
Consulte o app de exemplo para testar essas APIs.