Android 11 เพิ่มการรองรับการปรับแต่งลักษณะการทำงาน และการจัดวางการแจ้งเตือนการสนทนาในแผงการแจ้งเตือนตาม ระดับความสำคัญและการแจ้งเตือน ซึ่งช่วยให้ทำเครื่องหมายการสนทนาว่าสำคัญ และเปิดใช้บับเบิลเฉพาะการสนทนา ในพื้นที่การสนทนาได้
Android 12 มีฟีเจอร์การสนทนาใหม่ 2 รายการที่ต่อยอดจากฟีเจอร์ Android 11 เหล่านี้
- ฟีเจอร์การสนทนาล่าสุดในการตั้งค่าช่วยให้ผู้ใช้ปรับแต่งลักษณะการทำงานของการแจ้งเตือนสำหรับการสนทนาล่าสุดได้โดยไม่ต้องรอการแจ้งเตือน 
- ฟีเจอร์วิดเจ็ตการสนทนาช่วยให้ผู้ใช้เปิดแชทบนหน้าจอหลักได้อย่างง่ายดาย และดูการสนทนาล่าสุดได้อย่างรวดเร็ว 
เอกสารนี้อธิบายถึงแง่มุมต่างๆ ของการใช้งาน การปรับแต่ง และการตรวจสอบความถูกต้อง ของการแจ้งเตือนและการสนทนาในวิดเจ็ต
ภาพรวมการแจ้งเตือนการสนทนา
Android 11 ได้เปิดตัวองค์ประกอบพื้นฐานใหม่ของระบบ ซึ่งก็คือ การสนทนา ซึ่งแสดงโดยออบเจ็กต์ทางลัดการแชร์ที่มีอยู่ (ซึ่งเปิดตัวพร้อมกับ Android 9)
คุณใช้ Conversations Primitive ได้ดังนี้
- แชร์ข้อมูลการสนทนาระหว่างแอปต่างๆ ในระบบผ่านชีตแชร์ (มีใน Android 10 อยู่แล้ว) 
- หากต้องการเข้าร่วมพื้นที่การสนทนาใหม่ที่ด้านบนของแผงการแจ้งเตือน (ใช้งานใน Android 11) ดูรูปที่ 2 
- สำหรับการสร้างวิดเจ็ตการสนทนา (ใช้งานใน Android 12) - รูปที่ 1: การเปิดการแจ้งเตือนเป็นบับเบิลจากลิ้นชักการแจ้งเตือน - รูปที่ 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/
การตรวจสอบความถูกต้อง
โปรดตรวจสอบสิ่งต่อไปนี้เพื่อให้มั่นใจว่าฟีเจอร์เวอร์ชันของคุณทำงานได้ตามที่ต้องการ
- แอปที่รองรับ Conversation API อย่างเต็มรูปแบบจะเห็นการแจ้งเตือนในส่วนใหม่ และปรับแต่งการแจ้งเตือนเหล่านั้นตามการสนทนาได้แทนที่จะปรับแต่งตาม NotificationChannel ทั่วไป 
- บับเบิลเฉพาะการสนทนาทำงานได้ 
หากต้องการตรวจสอบการติดตั้งใช้งาน ให้ใช้การทดสอบต่อไปนี้ในแพ็กเกจการแจ้งเตือน
- การทดสอบ CTS - cts/tests/app/src/android/app/cts/NotificationManagerTest.java
- การทดสอบโปรแกรมตรวจสอบ CTS - cts/apps/CtsVerifier/src/com/android/cts/verifier/notifications/
ภาพรวมวิดเจ็ตการสนทนา
ใน Android 12 ฟีเจอร์วิดเจ็ตการสนทนาจะสร้างขึ้น จากการแสดงการสนทนาที่สร้างขึ้นใน Android 11 (ตามที่อธิบายไว้ในส่วนก่อนหน้า) โดยอนุญาตให้แอประบุสถานะของการสนทนาเหล่านั้นซึ่งแสดงในวิดเจ็ตการสนทนา
 
รูปที่ 3: การสนทนาที่แสดงในวิดเจ็ตการสนทนา
ฟีเจอร์วิดเจ็ตการสนทนาใน Android 12 ช่วยส่งเสริม การเชื่อมต่อโดยอนุญาตให้ผู้ใช้เปิดแชทบนหน้าจอหลักได้อย่างง่ายดาย วิดเจ็ตเป็นทางลัดที่ได้รับการปรับปรุงซึ่งช่วยให้ผู้ใช้กลับไปที่ การสนทนาได้อย่างมีประสิทธิภาพ พร้อมแสดงข้อมูลสรุปเกี่ยวกับสถานะการสนทนา
พาร์ทเนอร์ต้องติดตั้งใช้งานสิ่งต่อไปนี้
- วิดเจ็ตที่ SystemUI จัดให้
- ขั้นตอนการเพิ่มวิดเจ็ตเหล่านี้จากหน้าจอการเลือกวิดเจ็ต
- การรองรับการปรับขนาดวิดเจ็ตมีดังนี้
- ใช้ 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
การตรวจสอบความถูกต้อง
โปรดตรวจสอบสิ่งต่อไปนี้เพื่อให้มั่นใจว่าฟีเจอร์เวอร์ชันของคุณทำงานได้ตามที่ต้องการ
- เมื่อกด Launcher ค้างไว้ คุณจะเพิ่มวิดเจ็ตการสนทนาใหม่สำหรับการสนทนา ได้ผ่านเครื่องมือเลือกวิดเจ็ต ดู UI ของเครื่องมือเลือกวิดเจ็ตในรูปที่ 4 - รูปที่ 4: UI ของเครื่องมือเลือกวิดเจ็ตเพื่อเพิ่มวิดเจ็ตการสนทนาใหม่ 
- เมื่อส่งการแจ้งเตือนไปยังอุปกรณ์จากการสนทนาที่เลือก วิดเจ็ตจะอัปเดตเพื่อแสดงการแจ้งเตือนเหล่านั้น 
- เมื่อใช้ API - ConversationStatusเพื่อใช้สถานะกับแชทนั้น วิดเจ็ตจะแสดงสถานะเหล่านั้น
- ผู้ใช้สามารถปรับขนาดวิดเจ็ตได้ และวิดเจ็ตจะเปลี่ยนขนาดตาม Launcher ปัจจุบัน เลย์เอาต์วิดเจ็ตต้องทำงานได้ดีกับขนาด Launcher ที่แตกต่างกันในอุปกรณ์ต่างๆ และเมื่อปรับขนาดวิดเจ็ต 
หากต้องการตรวจสอบการติดตั้งใช้งาน ให้ใช้การทดสอบต่อไปนี้ในแพ็กเกจการแจ้งเตือน
- การทดสอบ CTS (PeopleManagerTest) สำหรับ API Surface - cts/tests/app/src/android/app/cts/NotificationManagerTest.java
- การทดสอบด้วยตนเองสำหรับข้อกำหนดของ GMS - การสนทนา