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