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

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

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

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

  • ฟีเจอร์วิดเจ็ตการสนทนาช่วยให้ผู้ใช้เปิดแชทในหน้าจอหลักได้อย่างง่ายดาย ทำให้เห็นภาพรวมของการสนทนาล่าสุดได้อย่างรวดเร็ว

เอกสารนี้อธิบายลักษณะการทำงานของการใช้งาน การปรับแต่ง และการตรวจสอบการแจ้งเตือนและวิดเจ็ตการสนทนา

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

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

คุณสามารถใช้ระบบดั้งเดิมของการสนทนาได้ดังนี้

  • แชร์ข้อมูลการสนทนาระหว่างแอปในระบบผ่าน แผ่นแชร์ (มีใน 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 เพื่อกำหนดขอบเขตการเปลี่ยนแปลงขนาดวิดเจ็ตอย่างถูกต้อง

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

  • พาร์ทเนอร์ไม่จำเป็นต้องแก้ไขหรือใช้งานโค้ด 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. เมื่อกด 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 - การสนทนา