以進度為主軸的通知

Android 16 推出以進度為主的通知,協助使用者順暢追蹤使用者啟動的端對端歷程。

Notification.ProgressStyle 是一種新的通知樣式,可讓您建立以進度為主的通知。主要用途包括共乘、外送和導航。在 Notification.ProgressStyle 類別中,您可以使用區隔,表示使用者歷程中的狀態和里程碑。

在螢幕鎖定畫面上顯示以進度為主的通知。
通知欄中顯示以進度為主的通知。

相關類別和方法

下列類別包含用於建構 ProgressStyle 通知的不同 API:

剖析與自訂

下圖顯示組成 ProgressStyle 通知的不同部分:

ProgressStyle 通知的不同部分。
應用程式可以為追蹤器圖示設定車輛圖片,並使用路段和點來表示共乘體驗和里程碑。

最佳做法

請遵循下列最佳做法,以便透過以進度為主的通知提供最佳使用者體驗:

  • 使用適當的視覺元素,引導使用者完成旅程。舉例來說,共乘服務應用程式應使用 Notification#setLargeIcon 設定車輛圖片,並在共乘服務體驗中使用最準確的車輛顏色。
  • 使用簡潔明瞭的語言定義使用者歷程的進度。到達時間、駕駛員姓名和行程狀態是通知中應提供的重要文字。
  • 在通知中提供實用且相關的動作,有助於簡化使用者歷程。舉例來說,在新增的食品外送訂單中提供小費或新增其他餐點,都是在送達前可採取的動作。
  • 使用區段來表示狀態。舉例來說,您可以使用區段為共乘行程中的交通狀態和時間長度著色,並使用點標示里程碑、餐點準備、外送和乘客接送的狀態。
  • 準確且頻繁更新進度體驗,以符合旅程的實際進度。舉例來說,變化的交通狀況會反映在路段顏色變更和文字更新上。

下列程式碼片段說明如何在共乘服務情境中使用 ProgressStyle 通知:

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

請注意,在這個範例中,追蹤器圖示已設為車輛圖片,而路段和點則用於表示共乘體驗和里程碑,以提供更完整的使用者體驗。