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

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

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

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

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

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

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

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

    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. เมื่อใช้ API ConversationStatus เพื่อใช้สถานะกับแชทนั้น วิดเจ็ตจะแสดงสถานะเหล่านั้น

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

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

  • การทดสอบ CTS (PeopleManagerTest) สำหรับ API Surface

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