O Android 16 apresenta um novo modelo de notificação para ajudar os usuários a acompanhar jornadas completas iniciadas pelo usuário. Essas notificações têm visibilidade atualizada nas interfaces do sistema e classificação superior na gaveta de notificações.
Use Notification.ProgressStyle para estilizar notificações centradas no progresso.
Os principais casos de uso incluem transporte por aplicativo, 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 construir uma notificação
ProgressStyle:
Anatomia e personalização
As imagens a seguir mostram as diferentes partes que compõem as notificações do 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 com 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, apps de carona compartilhada
precisam definir uma imagem do veículo e usar a cor mais precisa dele na
notificação usando
Notification#setLargeIcon. - Use uma linguagem concisa e clara para definir o progresso da jornada do usuário. O horário de chegada, o nome do motorista e o estado da viagem são textos importantes que a notificação precisa comunicar.
- Ofereça ações úteis e relevantes na notificação que simplifiquem a jornada do usuário. Por exemplo, fornecer "Dica" 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 viagem de transporte por aplicativo. Os pontos representam estados para marcos importantes, como preparo e entrega de comida e embarque de passageiros.
- Atualize a experiência de progresso para refletir com precisão a progressão real da jornada. Por exemplo, 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][8]{:.external} para testar essas APIs.