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

Android 11 เพิ่มการรองรับสำหรับการปรับแต่งพฤติกรรมและตำแหน่งของการแจ้งเตือนการสนทนาบนแถบการแจ้งเตือนตามลำดับความสำคัญและระดับการแจ้งเตือน ทำให้การสนทนาถูกทำเครื่องหมายว่าสำคัญ และ ฟองอากาศ เฉพาะการสนทนาจะเปิดขึ้นในพื้นที่การสนทนา

Android 12 สร้างขึ้นจากฟีเจอร์ Android 11 เหล่านี้ โดยนำเสนอฟีเจอร์การสนทนาใหม่ 2 ฟีเจอร์:

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

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

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

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

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

การสนทนาแบบดั้งเดิมสามารถใช้ได้ดังนี้:

  • เพื่อแชร์ข้อมูลการสนทนาระหว่างแอพทั่วทั้งระบบผ่าน Sharesheet (มีอยู่แล้วใน Android 10)

  • สำหรับการขับ ฟอง ( ทางลัด ใน Android 11) ดู รูปที่ 1

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

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

    conv_bubbles

    รูปที่ 1: การแจ้งเตือนถูกเปิดเป็นฟองจากแถบการแจ้งเตือน

    conv_notification

    รูปที่ 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/

การตรวจสอบ

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

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

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

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

  • การทดสอบซีทีเอส

    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 ค้างไว้ คุณสามารถเพิ่มวิดเจ็ตการสนทนาใหม่สำหรับการสนทนาได้ผ่านเครื่องมือเลือกวิดเจ็ต ดูรูปที่ 4 สำหรับ UI ตัวเลือกวิดเจ็ต:

    widget_picker

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

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

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

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

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

  • การทดสอบ CTS (PeopleManagerTest) สำหรับพื้นผิว API

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