Notificações com foco no progresso

Android 16 引入了以进度为中心的通知,可帮助用户顺畅地跟踪用户发起的端到端历程。

Notification.ProgressStyle 是一种新的通知样式,可让您创建以进度为中心的通知。主要用例包括共享车辆、送货和导航。在 Notification.ProgressStyle 类中,您可以使用细分来表示用户体验历程中的状态和里程碑。

Uma notificação focada no progresso exibida na tela de bloqueio.
Uma notificação focada no progresso exibida na aba de notificações.

Classes e métodos 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:

As imagens a seguir mostram as diferentes partes que compõem as notificações ProgressStyle:

A. Header - Subtext

Notification.Builder.setSubText()

B. Cabeçalho: tempo

Notification.Builder.setWhen()

C. Título do conteúdo

Notification.Builder.setContentTitle()

D. Texto do conteúdo

Notification.Builder.setContentText()

E. Barra de progresso

Notification.ProgressStyle

F. Botão de ação

Notification.Builder.addAction()

Os apps podem definir uma imagem de veículo para o ícone do rastreador e usar segmentos e pontos para indicar a experiência de transporte por aplicativo e os marcos.

Práticas recomendadas

Siga as práticas recomendadas abaixo para oferecer a melhor experiência possível ao usuário com notificações focadas no progresso:

  • Verifique se os campos certos estão definidos para atender à visibilidade promocionada.
  • Use os elementos visuais certos para guiar o usuário na jornada. Por exemplo, os apps de transporte por aplicativo precisam definir uma imagem do veículo e a cor mais precisa do veículo usado em uma experiência de transporte por aplicativo 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 precisam ser comunicados na notificação.
  • Ofereça ações úteis e relevantes na notificação que ajudem a simplificar a jornada do usuário. Por exemplo, fornecer uma gorjeta ou adicionar um prato extra a um pedido de entrega de comida recém-iniciado são itens acionáveis antes da entrega.
  • Use segmentos e pontos para denotar estados. Por exemplo, use segmentos para colorir um estado e a duração do tráfego em uma viagem de transporte por aplicativo e use pontos para estados de marcos, preparação de alimentos, entrega e coleta de passageiros.
  • Atualize a experiência de progresso com frequência e precisão para corresponder à progressão real da jornada. Por exemplo, as condições de tráfego que mudam 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 para um contexto de transporte por aplicativo:

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)
            )
        )

No exemplo, uma imagem de veículo é definida para o ícone do rastreador, e segmentos e pontos são usados para indicar a experiência de transporte por aplicativo e os marcos para oferecer uma experiência do usuário mais completa.

Confira o app de exemplo para mais informações.