การแจ้งเตือนการสนทนาและวิดเจ็ต

Android 11 รองรับการปรับแต่งลักษณะการทำงานและตำแหน่งของการแจ้งเตือนการสนทนาในหน้าต่างการแจ้งเตือนตามลําดับความสําคัญและระดับการแจ้งเตือน ซึ่งช่วยให้คุณทําเครื่องหมายการสนทนาว่าสำคัญและเปิดฟองข้อความเฉพาะการสนทนาในพื้นที่การสนทนาได้

Android 12 พัฒนาต่อยอดจากฟีเจอร์การสนทนาของ Android 11 โดยเพิ่มฟีเจอร์ใหม่ 2 รายการ ได้แก่

  • ฟีเจอร์การสนทนาล่าสุดในการตั้งค่าช่วยให้ผู้ใช้ปรับแต่งลักษณะการแจ้งเตือนสำหรับการสนทนาล่าสุดได้โดยไม่ต้องรอการแจ้งเตือน

  • ฟีเจอร์วิดเจ็ตการสนทนาช่วยให้ผู้ใช้เปิดแชทบนหน้าจอหลักได้อย่างง่ายดาย ซึ่งช่วยให้คุณเห็นการสนทนาล่าสุดได้อย่างรวดเร็ว

เอกสารนี้อธิบายแง่มุมต่างๆ ของการใช้งาน การปรับแต่ง และการตรวจสอบความถูกต้องของการแจ้งเตือนและการวิดเจ็ตการสนทนา

ภาพรวมการแจ้งเตือนการสนทนา

Android 11 เปิดตัวรายการพื้นฐานของระบบใหม่อย่าง "การสนทนา" ซึ่งแสดงโดยออบเจ็กต์ทางลัดการแชร์ที่มีอยู่ (ซึ่งเปิดตัวพร้อมกับ Android 9)

โดย Conversations Primitive สามารถใช้งานได้ดังนี้

  • วิธีแชร์ข้อมูลการสนทนาระหว่างแอปต่างๆ ในระบบผ่านแผงการแชร์ (มีอยู่ใน Android 10 แล้ว)

  • สำหรับฟองข้อความ(แป้นพิมพ์ลัดใน Android 11) โปรดดูรูปที่ 1

  • หากต้องการเข้าร่วมพื้นที่การสนทนาใหม่นอกเหนือจากเฉดสีของการแจ้งเตือน (ที่ใช้ใน Android 11) ดูรูปที่ 2

  • สำหรับการสร้างวิดเจ็ตการสนทนา (ใช้งานใน Android 12)

    conv_bubbles

    รูปที่ 1: การแจ้งเตือนที่เปิดขึ้นเป็นบับเบิลจากลิ้นชักการแจ้งเตือน

    conv_notification

    รูปที่ 2: พื้นที่การสนทนาที่ด้านบนของหน้าต่างแจ้งเตือน

นอกจากการลิงก์ไปยังทางลัดที่แสดงการสนทนาแล้ว การแจ้งเตือนยังใช้ MessagingStyle เพื่อรวมข้อความสุดท้ายของการสนทนาในพื้นที่การสนทนาด้วย

พาร์ทเนอร์ GMS จะต้องดำเนินการต่อไปนี้

  • พื้นที่ทำงานการสนทนาใหม่เป็นส่วนแยกต่างหากที่ด้านบนของหน้าต่างแจ้งเตือน
  • รูปแบบการแจ้งเตือนที่อนุญาตและรองรับรูปแบบลูกโป่งเฉพาะของการสนทนา

พาร์ทเนอร์ที่ใช้การสนทนาต้องใช้งานการสนทนาที่สําคัญด้วย อย่างไรก็ตาม การใช้งานการสนทนาสามารถปรับให้สอดคล้องกับแนวคิดของ OEM ในลักษณะที่คล้ายกันได้ โดยรวมแล้ว พาร์ทเนอร์มีอิสระในการปรับส่วนการสนทนาให้สอดคล้องกับ UI ของระบบที่เฉพาะเจาะจง พาร์ทเนอร์ไม่จําเป็นต้องแก้ไขหรือติดตั้งใช้งาน HAL/ไดรเวอร์/โค้ด/ส่วนขยายเคอร์เนล

ดูการใช้งานข้อมูลอ้างอิงต่อไปนี้ในส่วน SystemUI และ PeopleService ใน 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/

การตรวจสอบความถูกต้อง

โปรดตรวจสอบสิ่งต่อไปนี้เพื่อให้แน่ใจว่าฟีเจอร์เวอร์ชันของคุณทํางานได้ตามที่ต้องการ

  1. แอปที่รองรับ Conversation API อย่างเต็มรูปแบบจะเห็นการแจ้งเตือนในส่วนใหม่ และสามารถปรับแต่งการแจ้งเตือนเหล่านั้นตามการสนทนาแทนNotificationChannel ทั่วไป

  2. บับเบิลเฉพาะการสนทนากำลังทำงาน

หากต้องการตรวจสอบการติดตั้งใช้งาน ให้ใช้การทดสอบต่อไปนี้ในแพ็กเกจการแจ้งเตือน

  • การทดสอบ CTS

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • การทดสอบ CTS Verifier

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

ภาพรวมวิดเจ็ตการสนทนา

ใน Android 12 ฟีเจอร์วิดเจ็ตการสนทนาจะอิงตามการแสดงการสนทนาที่สร้างขึ้นใน Android 11 (ตามที่อธิบายไว้ในส่วนก่อนหน้า) โดยอนุญาตให้แอประบุสถานะการสนทนาที่แสดงในวิดเจ็ตการสนทนา

conv_widgets

รูปที่ 3: การสนทนาที่แสดงในวิดเจ็ตการสนทนา

ฟีเจอร์วิดเจ็ตการสนทนาใน Android 12 จะช่วยส่งเสริมการเชื่อมต่อโดยช่วยให้ผู้ใช้เปิดแชทบนหน้าจอหลักได้อย่างง่ายดาย วิดเจ็ตเป็นแป้นพิมพ์ลัดที่ปรับปรุงแล้วซึ่งช่วยให้ผู้ใช้กลับไปที่การสนทนาได้อย่างมีประสิทธิภาพขณะแสดงตัวอย่างสถานะการสนทนา

พาร์ทเนอร์ต้องดำเนินการดังต่อไปนี้

  1. วิดเจ็ตที่ SystemUI ให้บริการ
  2. ขั้นตอนในการเพิ่มวิดเจ็ตเหล่านี้จากหน้าจอการเลือกวิดเจ็ต
  3. รองรับการปรับขนาดวิดเจ็ต ดังนี้
    • ใช้ onAppWidgetOptionsChanged() เพื่อเปลี่ยนเลย์เอาต์เป็นขนาดที่ดีขึ้นเมื่อผู้ใช้เปลี่ยนขนาดเลย์เอาต์หรือหมุนเป็นแนวนอน
    • ใช้ maxResizeHeight, maxResizeWidth, minWidth, minHeight, minResizeWidth, minResizeHeight เพื่อจำกัดการเปลี่ยนแปลงขนาดวิดเจ็ตอย่างถูกต้อง

โปรดคำนึงถึงทรัพยากร Dependency ต่อไปนี้เมื่อติดตั้งใช้งานวิดเจ็ตการสนทนา

  • พาร์ทเนอร์ไม่ต้องแก้ไขหรือติดตั้งใช้งานโค้ด HAL/ไดรเวอร์/เคอร์เนล
  • 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. เมื่อกด Launcher ค้างไว้ คุณจะเพิ่มวิดเจ็ตการสนทนาใหม่สำหรับการสนทนาได้ผ่านเครื่องมือเลือกวิดเจ็ต ดู UI เครื่องมือเลือกวิดเจ็ตในรูปที่ 4

    widget_picker

    รูปที่ 4: UI เครื่องมือเลือกวิดเจ็ตเพื่อเพิ่มวิดเจ็ตการสนทนาใหม่

  2. เมื่อส่งการแจ้งเตือนไปยังอุปกรณ์จากการสนทนาที่เลือก วิดเจ็ตจะอัปเดตเพื่อแสดงการแจ้งเตือนเหล่านั้น

  3. เมื่อใช้สถานะกับการสนทนานั้นโดยใช้ ConversationStatus API วิดเจ็ตจะแสดงสถานะเหล่านั้น

  4. ผู้ใช้สามารถปรับขนาดวิดเจ็ตได้ และวิดเจ็ตจะเปลี่ยนขนาดตาม Launcher ปัจจุบัน เลย์เอาต์วิดเจ็ตต้องใช้งานได้ดีกับ Launcher ขนาดต่างๆ ในอุปกรณ์ต่างๆ และการปรับขนาดวิดเจ็ต

หากต้องการตรวจสอบการติดตั้งใช้งาน ให้ใช้การทดสอบต่อไปนี้ในแพ็กเกจการแจ้งเตือน

  • การทดสอบ CTS (PeopleManagerTest) สำหรับแพลตฟอร์ม API

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • การทดสอบด้วยตนเองสำหรับข้อกำหนดของ GMS - การสนทนาสนทนา