Thông báo hội thoại và widget

Android 11 bổ sung hỗ trợ để tùy chỉnh hành vi và vị trí của Thông báo cuộc trò chuyện trên ngăn Thông báo theo mức độ ưu tiên và cảnh báo, cho phép Cuộc trò chuyện được đánh dấu là bong bóng Quan trọng và cụ thể của cuộc trò chuyện sẽ được khởi chạy trong không gian Cuộc trò chuyện.

Dựa trên các tính năng này của Android 11, Android 12 cung cấp hai tính năng Hội thoại mới:

  • Tính năng Cuộc trò chuyện gần đây trong Cài đặt cho phép người dùng tùy chỉnh hành vi thông báo cho các cuộc trò chuyện gần đây mà không cần chờ thông báo.

  • Tính năng Tiện ích hội thoại cho phép người dùng dễ dàng mở các cuộc trò chuyện trên màn hình chính, giúp xem nhanh các cuộc trò chuyện gần đây.

Tài liệu này mô tả các khía cạnh triển khai, tùy chỉnh và xác thực của tiện ích và thông báo cuộc trò chuyện.

Tổng quan về Thông báo cuộc trò chuyện

Android 11 giới thiệu một hệ thống nguyên thủy mới, Hội thoại, được biểu thị bằng đối tượng phím tắt chia sẻ hiện có (được triển khai cùng với Android 9).

Nguyên tắc Hội thoại có thể được sử dụng như sau:

  • Để chia sẻ dữ liệu Cuộc trò chuyện giữa các ứng dụng trên toàn hệ thống thông qua Sharesheet (đã có trong Android 10).

  • Để điều khiển bong bóng ( phím tắt trong Android 11). Xem Hình 1 .

  • Để tham gia vào không gian Hội thoại mới ở trên cùng của ngăn Thông báo (được triển khai trong Android 11). Xem Hình 2 .

  • Để tạo Tiện ích hội thoại (được triển khai trong Android 12).

    conv_bubbles

    Hình 1: Thông báo được khởi chạy dưới dạng bong bóng từ ngăn thông báo

    conv_notification

    Hình 2: Không gian hội thoại nằm phía trên ngăn Thông báo

Ngoài việc liên kết với lối tắt đại diện cho cuộc trò chuyện, thông báo còn sử dụng MessagingStyle để đưa tin nhắn cuối cùng của cuộc trò chuyện vào không gian Hội thoại.

Các đối tác GMS được yêu cầu thực hiện những điều sau:

  • Không gian Cuộc trò chuyện mới dưới dạng một phần riêng biệt phía trên ngăn Thông báo.
  • Kiểu thông báo cho phép và hỗ trợ mẫu bong bóng dành riêng cho Cuộc hội thoại.

Các đối tác triển khai Cuộc trò chuyện cũng phải triển khai các cuộc trò chuyện Quan trọng. Tuy nhiên, việc triển khai Cuộc trò chuyện có thể được điều chỉnh phù hợp với các khái niệm OEM có tính chất tương tự. Nhìn chung, các đối tác có quyền tự do điều chỉnh phần hội thoại cho phù hợp với Giao diện người dùng hệ thống cụ thể của họ. Đối tác không phải sửa đổi hoặc triển khai HAL/trình điều khiển/mã hạt nhân/tiện ích mở rộng.

Xem cách triển khai tham chiếu sau trong phần SystemUI & PeopleService trong AOSP:

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/

Thẩm định

Để đảm bảo rằng phiên bản tính năng của bạn hoạt động như dự kiến, hãy xác minh những điều sau:

  1. Các ứng dụng hỗ trợ đầy đủ API hội thoại sẽ thấy thông báo của chúng trong phần mới và có thể tùy chỉnh các thông báo đó theo cuộc hội thoại thay vì theo Thông báo chung.

  2. Bong bóng cụ thể của cuộc trò chuyện đang hoạt động.

Để xác thực việc triển khai, hãy sử dụng các thử nghiệm sau trong gói thông báo:

  • Các xét nghiệm CTS.

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • Kiểm tra xác minh CTS.

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

Tổng quan về Tiện ích hội thoại

Trong Android 12, tính năng Tiện ích hội thoại được xây dựng dựa trên các biểu diễn Cuộc hội thoại được tạo trong Android 11 (như phần trước mô tả) bằng cách cho phép ứng dụng cung cấp trạng thái cho những cuộc trò chuyện đó được hiển thị trong Tiện ích hội thoại.

conv_widgets

Hình 3: Các cuộc hội thoại được hiển thị trong Tiện ích hội thoại

Tính năng Conversation Widget trong Android 12 thúc đẩy kết nối bằng cách cho phép người dùng dễ dàng mở các cuộc trò chuyện trên màn hình chính. Các tiện ích này là các phím tắt nâng cao cho phép người dùng quay lại cuộc trò chuyện của họ một cách hiệu quả đồng thời hiển thị các đoạn trạng thái cuộc trò chuyện.

Đối tác phải thực hiện những điều sau:

  1. Một tiện ích được cung cấp bởi SystemUI.
  2. Quy trình thêm các tiện ích này từ màn hình chọn tiện ích.
  3. Hỗ trợ thay đổi kích thước widget như sau:

Hãy lưu ý đến các yếu tố phụ thuộc sau đây khi triển khai Tiện ích hội thoại:

  • Đối tác không phải sửa đổi hoặc triển khai mã HAL/trình điều khiển/hạt nhân.
  • API trạng thái, cho phép các ứng dụng thêm thông tin trạng thái hoặc tình trạng sẵn có vào cuộc trò chuyện và tiện ích liên quan, được sử dụng để triển khai.
  • Quá trình này giống nhau khi triển khai thiết bị mới và triển khai nâng cấp.
  • Tính năng Tiện ích hội thoại phụ thuộc vào một tính năng mới ra mắt trong Android 12, tính năng này sẽ lưu vào bộ nhớ đệm các cuộc hội thoại đã xem gần đây (chẳng hạn như từ thông báo). Tính năng thứ hai này cho phép mở rộng danh sách các cuộc hội thoại mà người dùng có thể thêm vào màn hình chính của họ.

Xem cách triển khai tham chiếu sau trong tệp SystemUI và 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/

Tùy chỉnh

Không thể bật hoặc tắt tính năng Tiện ích hội thoại. Tuy nhiên, đối tác có thể thay đổi bố cục của mẫu tiện ích, miễn là đáp ứng các yêu cầu của GMS.

Thẩm định

Để đảm bảo rằng phiên bản tính năng của bạn hoạt động như dự kiến, hãy xác minh những điều sau:

  1. Khi nhấn và giữ Trình khởi chạy, bạn có thể thêm Tiện ích hội thoại mới cho Cuộc hội thoại thông qua bộ chọn tiện ích. Xem hình 4 để biết giao diện người dùng của bộ chọn Widget:

    widget_picker

    Hình 4: Giao diện người dùng bộ chọn tiện ích để thêm Tiện ích hội thoại mới

  2. Khi gửi thông báo đến thiết bị từ Cuộc trò chuyện đã chọn, tiện ích sẽ được cập nhật để phản ánh những thông báo đó.

  3. Khi áp dụng các trạng thái cho Cuộc trò chuyện đó bằng API ConversationStatus , tiện ích sẽ phản ánh các trạng thái đó.

  4. Người dùng có thể thay đổi kích thước các tiện ích và các tiện ích có thể thay đổi kích thước dựa trên Trình khởi chạy hiện tại của chúng. Bố cục tiện ích của bạn phải hoạt động tốt với các kích thước Trình khởi chạy khác nhau trên các thiết bị khác nhau và khi thay đổi kích thước tiện ích.

Để xác thực việc triển khai, hãy sử dụng các thử nghiệm sau trong gói thông báo:

  • Kiểm tra CTS (PeopleManagerTest) cho các bề mặt API.

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • Kiểm tra thủ công các yêu cầu của GMS - Cuộc trò chuyện.