對話通知和小工具

Android 11 支援依優先順序和提醒層級,自訂通知專區中對話通知的行為和位置,讓對話標示為重要,並在對話空間中啟動對話專屬對話框

Android 12 延續了這些 Android 11 功能,並提供兩項全新的對話功能:

  • 使用者可以在「設定」中透過「近期對話」功能,自訂近期對話的通知行為,不必等待通知。

  • 對話小工具功能可讓使用者在主畫面上輕鬆開啟即時通訊,快速查看最近的對話。

本文說明對話通知和對話小工具的實作、自訂和驗證方式。

對話通知總覽

Android 11 導入新的系統基本類型「對話」,並以現有的分享捷徑物件 (已在 Android 9 中推出) 表示。

Conversations 原始型別的用途如下:

  • 透過分享功能表 (Android 10 已提供),在系統中跨應用程式分享「對話」資料。

  • 行車泡泡(Android 11 中的快速鍵)。請參閱圖 1

  • 在通知面板頂端參與新的「對話」空間 (Android 11 中實作)。請參閱圖 2

  • 用於建立對話小工具 (在 Android 12 中實作)。

    conv_bubbles

    圖 1:透過通知匣以對話框形式啟動的通知

    conv_notification

    圖 2:位於通知欄頂端的對話空間

除了連結至代表對話的捷徑,通知也會使用 MessagingStyle,在對話空間中加入對話的最後一則訊息。

GMS 合作夥伴必須實作下列項目:

  • 在通知面板頂端新增「對話」專區。
  • 通知樣式,可允許並支援對話專用對話框模式。

實作對話功能的合作夥伴也必須實作重要對話功能。不過,實作對話功能時,可以參考 OEM 類似性質的概念。整體而言,合作夥伴可自由調整對話部分,使其與特定系統 UI 保持一致。合作夥伴不必修改或導入 HAL/驅動程式/核心程式碼/擴充功能。

請參閱 AOSP 中 SystemUI 和 PeopleService 區段的下列參考實作:

frameworks/base/packages/SystemUI/src/com/android/systemui/people/
frameworks/base/core/java/android/app/people/
frameworks/base/services/people/java/com/android/server/people/

驗證

為確保功能版本正常運作,請確認下列事項:

  1. 完全支援 Conversation API 的應用程式會在新的專區中顯示通知,並可依對話自訂通知,而非依一般 NotificationChannel 自訂。

  2. 對話專屬對話框功能正常運作。

如要驗證實作項目,請在通知套件中使用下列測試:

  • CTS 測試。

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • CTS 驗證器測試。

    cts/apps/CtsVerifier/src/com/android/cts/verifier/notifications/
    
    

對話小工具總覽

在 Android 12 中,對話小工具功能允許應用程式提供對話狀態,進一步強化 Android 11 建立的對話表示法 (如上一節所述)。

conv_widgets

圖 3:顯示在對話小工具中的對話

Android 12 的對話小工具功能可讓使用者在主畫面上輕鬆開啟即時通訊,藉此促進連結。這些小工具是進階版捷徑,可讓使用者快速回到對話,並顯示對話狀態的文字片段。

合作夥伴必須實作下列項目:

  1. SystemUI 提供的小工具。
  2. 從選擇小工具的畫面新增這些小工具的流程。
  3. 支援的小工具大小調整方式如下:

導入對話小工具時,請注意下列依附元件:

  • 合作夥伴不必修改或導入 HAL/驅動程式/核心程式碼。
  • 實作時會使用 Status API,讓應用程式在對話和相關小工具中新增狀態或供應情形資訊。
  • 無論是實作新裝置或升級,程序都相同。
  • 對話小工具功能依附於 Android 12 中推出的新功能,可快取最近的對話 (例如來自通知)。這項功能可擴充使用者可能加到主畫面的對話清單。

請參閱 SystemUI 和 Launcher3 檔案中的下列參考實作:

frameworks/base/packages/SystemUI/src/com/android/systemui/people/
frameworks/base/core/java/android/app/people/
frameworks/base/services/people/java/com/android/server/people/

自訂

對話小工具功能無法開啟或關閉,但只要符合 GMS 規定,合作夥伴就能變更小工具範本的版面配置。

驗證

為確保功能版本正常運作,請確認下列事項:

  1. 長按啟動器後,即可透過小工具挑選器新增對話的對話小工具。小工具挑選器 UI 如圖 4 所示:

    widget_picker

    圖 4:用於新增對話小工具的小工具挑選器 UI

  2. 從所選對話將通知傳送至裝置時,小工具會更新以反映這些通知。

  3. 使用 ConversationStatus API 將狀態套用至該對話後,小工具就會反映這些狀態。

  4. 使用者可以調整小工具大小,小工具也會根據目前的啟動器變更大小。小工具版面配置必須能配合不同裝置上的不同啟動器大小,以及小工具大小調整作業。

如要驗證實作項目,請在通知套件中使用下列測試:

  • API 介面的 CTS 測試 (PeopleManagerTest)。

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • Google 行動服務需求的手動測試 - 對話。