Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.

Thông báo và tiện ích cuộc trò chuyện

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 các cuộc trò chuyện được đánh dấu là Quan trọng và bong bóng cụ thể của cuộc trò chuyện đượ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 đợi thông báo.

  • Tính năng Conversation Widget 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 các 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 nguyên thủy hệ thống mới, Conversation, được thể hiện bằng đối tượng phím tắt chia sẻ hiện có (được triển khai với Android 9).

Nguyên thủy của Conversations 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 Trang tính chia sẻ (đã có trong Android 10).

  • Để lái 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 ở phía trên 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 đang đượ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 trên đầu ngăn Thông báo

Bên cạnh việc liên kết với phím tắt đại diện cho cuộc hội thoại, thông báo cũng sử dụng MessagingStyle để đưa tin nhắn cuối cùng của cuộc hội thoại 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 ở trên cùng của ngăn Thông báo.
  • Kiểu thông báo cho phép và hỗ trợ mẫu bong bóng cụ thể của Cuộc hội thoại.

Các đối tác triển khai Cuộc trò chuyện cũng được yêu cầu triển khai Cuộc trò chuyện quan trọng. Tuy nhiên, việc triển khai Cuộc hội thoại có thể 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 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 / phần 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 trò chuyện thay vì theo Kênh thông báo chung chung.

  2. Các bong bóng cụ thể của cuộc hội thoại đ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 bài kiểm tra CTS.

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • Kiểm tra trình 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 Hội thoại được tạo trong Android 11 (như phần trước mô tả) bằng cách cho phép các ứng dụng cung cấp trạng thái cho các cuộc hội thoại đượ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 widget 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ả trong khi hiển thị các đoạn trích của 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. Luồng để thêm các widget này từ màn hình chọn widget.
  3. Hỗ trợ thay đổi kích thước widget như sau:

Hãy lưu ý các yếu tố phụ thuộc sau 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 còn hàng vào cuộc trò chuyện và tiện ích con được liên kết, được sử dụng để triển khai.
  • Quá trình này giống nhau trên cả triển khai thiết bị mới và triển khai nâng cấp.
  • Tính năng Conversation Widgets phụ thuộc vào một tính năng mới khởi chạy trong Android 12, tính năng này sẽ lưu vào bộ nhớ cache các cuộc hội thoại được xem gần đây (ví dụ: 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 trò chuyện 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 biến

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

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ữ lâu trên Trình khởi chạy, một Tiện ích hội thoại mới cho Hội thoại có thể được thêm vào thông qua bộ chọn tiện ích con. Xem hình 4 cho giao diện người dùng của bộ chọn tiện ích:

    widget_picker

    Hình 4: Giao diện người dùng của bộ chọn widget để thêm một Widget 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 con 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 hội thoại đó bằng API ConversationStatus , tiện ích con 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 widget và các widget có thể thay đổi kích thước của chúng dựa trên Trình khởi chạy hiện tại của họ. Bố cục tiện ích con 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 con.

Để 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 cho yêu cầu GMS - Hội thoại.