ผู้คนและการสนทนา

โครงการริเริ่มเกี่ยวกับผู้คนและการสนทนาเป็นโครงการริเริ่มของ Android ที่ใช้เวลาหลายปีซึ่งมีจุดมุ่งหมายเพื่อยกระดับผู้คนและการสนทนาในแพลตฟอร์มระบบของโทรศัพท์ ลำดับความสำคัญนี้อิงตามข้อเท็จจริงที่ว่าการสื่อสารและการโต้ตอบกับผู้อื่นยังคงเป็นส่วนการทำงานที่มีคุณค่าและสำคัญที่สุดสำหรับผู้ใช้ส่วนใหญ่ในทุกกลุ่มประชากร

Android 11 มีการเปิดตัวฟีเจอร์มากมายเพื่อรองรับโครงการริเริ่มด้านผู้คนและการสนทนา

พื้นที่การสนทนา


พื้นที่การสนทนาคือพื้นที่การแจ้งเตือนเฉพาะสำหรับการสนทนาแบบเรียลไทม์ระหว่างมนุษย์
รูปที่ 1: พื้นที่การสนทนา

ในอุปกรณ์พกพา จะมีส่วนแยกต่างหากที่ด้านบนของหน้าต่างแจ้งเตือนซึ่งมีเฉพาะการสนทนาแบบเรียลไทม์กับผู้คน (เช่น การโทรและข้อความแชท รวมถึงแชทเป็นกลุ่ม) การแจ้งเตือนในพื้นที่นี้จะมีลักษณะและการทำงานที่แตกต่างจากการแจ้งเตือนที่ไม่ใช่การสนทนาในโทรศัพท์หลายรุ่น ดังนี้

  • การออกแบบจะแตกต่างออกไป โดยเน้นที่รูปโปรไฟล์ซึ่งแสดงถึงผู้คนรวมกับแอปที่ใช้สนทนา
  • การแตะการแจ้งเตือนจะเปิดการสนทนาในแอป (หรือบับเบิล หากการสนทนาเคยเป็นบับเบิลมาก่อน) และการแตะเครื่องหมายคาเร็ตจะขยายข้อความใหม่ในหน้าต่างแจ้งเตือนให้แสดงแบบเต็มพร้อมรายการตัวเลือกทั้งหมด
  • ระบบจะเสนอการดำเนินการเฉพาะการสนทนา (บางรายการโดยการกดค้าง) ดังนี้
    • ทำเครื่องหมายการสนทนานี้เป็นรายการสำคัญ
    • โปรโมตการสนทนานี้เป็นบับเบิล (แสดงเฉพาะในกรณีที่แอปนั้นรองรับบับเบิล)
    • ปิดเสียงการแจ้งเตือนสำหรับการสนทนานี้
    • ตั้งค่าเสียงหรือการสั่นที่กำหนดเองสำหรับการสนทนานี้

การสนทนาในบับเบิล

หากการแจ้งเตือนเป็นไปตามข้อกำหนดของการสนทนา แพลตฟอร์มจะเปิดการแจ้งเตือนเป็นบับเบิลจากลิ้นชักการแจ้งเตือน
รูปที่ 2: การแจ้งเตือนที่เปิดเป็นบับเบิลจากลิ้นชักการแจ้งเตือน

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

ทางลัดการสนทนา

ทางลัดไปยังการสนทนาจะปรากฏใน Launcher และอยู่ข้างๆ ทางลัดการแชร์ที่ใช้งานได้ยาวนานในชีตการแชร์

หลักเกณฑ์เกี่ยวกับ API

ส่วนนี้จะอธิบาย API เพื่อเพิ่มการรองรับในแอปสำหรับพื้นที่ที่ระบบจัดเตรียมไว้ซึ่งแสดงผู้คนและการสนทนา

แป้นพิมพ์ลัดสำหรับการสนทนา

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

หากต้องการเผยแพร่ทางลัดไปยังการสนทนา ให้เรียกใช้เมธอด ShortcutManagerCompat setDynamicShortcuts(), addDynamicShortcuts() หรือ pushDynamicShortcut() (ซึ่งจะจัดการขีดจำกัดทางลัดสำหรับนักพัฒนาแอปโดยอัตโนมัติ) ทางลัดนี้ต้องมีอายุการใช้งานยาวนานและมีข้อมูล Person แนบมาด้วยสำหรับบุคคลอย่างน้อย 1 คน ซึ่งระบุผู้เข้าร่วมคนอื่นๆ ในการสนทนา นอกจากนี้ เราขอแนะนำให้ตั้งค่า LocusIdCompat ด้วย

หากไม่มีการสนทนาอีกต่อไป แอปจะลบทางลัดด้วย removeLongLivedShortcuts() ซึ่งจะทำให้ระบบลบข้อมูลทั้งหมดที่เชื่อมโยงกับการสนทนา แม้ว่าทางลัดจะนำออกได้ แต่แอปไม่ควรนำทางลัดที่แคชไว้ออก เว้นแต่จะจำเป็นจริงๆ ทางลัดอาจแคชไว้เนื่องจากผู้ใช้โต้ตอบกับทางลัดเพื่อเปลี่ยนประสบการณ์การใช้งาน และการนำทางลัดออกจะยกเลิกการเปลี่ยนแปลงเหล่านั้น ซึ่งทำให้ผู้ใช้หงุดหงิด

การแจ้งเตือนการสนทนา

ระบบจะถือว่าการแจ้งเตือนเป็นการแจ้งเตือนการสนทนาหากเป็นไปตามเงื่อนไขต่อไปนี้

  • การแจ้งเตือนใช้ MessagingStyle

  • (เฉพาะในกรณีที่แอปกำหนดเป้าหมายเป็น Android 11 ขึ้นไป) การแจ้งเตือนเชื่อมโยงกับทางลัดการแชร์แบบไดนามิกหรือแคชที่มีอายุการใช้งานยาวนานและถูกต้อง การแจ้งเตือนสามารถตั้งค่าการเชื่อมโยงนี้ได้โดยเรียกใช้ setShortcutId() หรือ setShortcutInfo() หากแอปกำหนดเป้าหมายเป็น Android 10 หรือต่ำกว่า การแจ้งเตือนไม่จำเป็นต้องเชื่อมโยงกับทางลัดตามที่อธิบายไว้ในส่วนตัวเลือกสำรอง

  • ผู้ใช้ไม่ได้ลดระดับการสนทนาจากส่วนการสนทนาผ่านการตั้งค่าช่องทางการแจ้งเตือน ณ เวลาที่โพสต์

ใช้ LocusIdCompat

ระบบอัจฉริยะในอุปกรณ์จะระบุการสนทนาที่ผู้ใช้มีแนวโน้มที่จะสนใจมากที่สุด สัญญาณที่สำคัญที่สุดคือความใหม่และความถี่ของเซสชันการสนทนาในการสนทนาแต่ละครั้ง ระบบจะทราบเกี่ยวกับการโต้ตอบกับการสนทนาจากทางลัด Launcher หรือภายใน การแจ้งเตือนหากมีการติดแท็กอย่างถูกต้อง อย่างไรก็ตาม ระบบจะไม่ทราบเกี่ยวกับการสนทนาที่เกิดขึ้นในแอปทั้งหมด เว้นแต่จะมีการติดแท็กการโต้ตอบเหล่านั้นด้วย ดังนั้น เราขอแนะนำอย่างยิ่งให้คุณแนบ LocusIdCompat กับทางลัด และใส่คำอธิบายประกอบกิจกรรมในแอปหรือ Fragment ด้วย LocusIdCompat ที่เชื่อมโยง ใช้ LocusIdCompat เพื่อเปิดใช้ระบบคำแนะนำในการจัดอันดับการสนทนาอย่างเหมาะสม และเปิดใช้ระบบเพื่อแสดงเวลาที่ถูกต้องของการโต้ตอบครั้งล่าสุดของผู้ใช้ (รวมถึงการโต้ตอบในแอป) กับการสนทนา หากคุณใช้ setShortcutInfo() เพื่อเชื่อมโยงการสนทนากับทางลัด ระบบการสนทนาจะแนบ LocusIdCompat ที่เหมาะสมโดยอัตโนมัติ

ข้อกำหนดเกี่ยวกับพื้นที่การสนทนาสำหรับแอปที่กำหนดเป้าหมายเป็น Android 10 หรือต่ำกว่า

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

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

  • การแจ้งเตือนจะแสดงในรูปแบบการสนทนา
  • ปุ่มบับเบิลจะแสดงขึ้นหากมีการติดตั้งใช้งาน
  • ฟังก์ชัน เฉพาะการสนทนาจะแสดงในบรรทัด

หากการแจ้งเตือนไม่เป็นไปตามข้อกำหนดเหล่านี้ แพลตฟอร์มจะใช้ตัวเลือกสำรองเพื่อจัดรูปแบบการแจ้งเตือน หากการแจ้งเตือนเป็นไปตามข้อกำหนดของเคสสำรอง ระบบจะแสดงการแจ้งเตือนในพื้นที่การสนทนาด้วยการจัดรูปแบบพิเศษ หากการแจ้งเตือนไม่มีสิทธิ์ใช้ตัวเลือกสำรองทั้ง 2 รายการ ระบบจะไม่แสดงการแจ้งเตือนนั้นในพื้นที่การสนทนา

สำรอง: หากใช้ MessagingStyle แต่ไม่มีทางลัด

หากแอปกำหนดเป้าหมายเป็น Android 10 หรือต่ำกว่า และการแจ้งเตือนใช้ MessagingStyle แต่ไม่ได้เชื่อมโยงข้อความกับทางลัด การแจ้งเตือนจะแสดงในพื้นที่การสนทนาโดยมีลักษณะการทำงานดังนี้

  • การแจ้งเตือนจะแสดงในรูปแบบการสนทนา
  • ไม่มีปุ่มบับเบิลให้เลือก
  • ไม่มีฟังก์ชันเฉพาะสำหรับการสนทนาในบรรทัด

สำรอง: หากไม่ได้ใช้ MessagingStyle แต่แอปเป็นแอปรับส่งข้อความที่รู้จัก

หากการแจ้งเตือนไม่ได้ใช้ MessagingStyle แต่แพลตฟอร์มจดจำแอปได้ว่าเป็นแอปรับส่งข้อความ และพารามิเตอร์ category ของการแจ้งเตือนตั้งค่าเป็น msg การแจ้งเตือนจะแสดงในพื้นที่การสนทนาโดยมีลักษณะการทำงานดังนี้

  • การแจ้งเตือนจะแสดงในรูปแบบเก่าก่อน Android 11
  • ไม่มีปุ่มบับเบิลให้เลือก
  • ไม่มีฟังก์ชันเฉพาะสำหรับการสนทนาในบรรทัด

คำแนะนำ การใช้งาน และการทดสอบ

ส่วนนี้จะให้คำแนะนำทั่วไปเกี่ยวกับวิธีใช้และทดสอบฟีเจอร์การสนทนา

ฉันควรใช้การสนทนาเมื่อใด

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

เราได้ให้ผู้ใช้สามารถนำการสนทนาที่ต้องการออกจากส่วนการสนทนาได้หากรู้สึกว่าการสนทนานั้นไม่อยู่ในพื้นที่ที่เหมาะสม

แนวทางปฏิบัติแนะนำ

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

  • เพื่อให้แน่ใจว่าสายที่ไม่ได้รับจะแสดงในแถบการสนทนาที่จัดลำดับความสำคัญและปรากฏอย่างถูกต้องในวิดเจ็ตการสนทนา ให้จัดรูปแบบการแจ้งเตือนสายที่ไม่ได้รับเป็น conversations โดยตั้งค่าหมวดหมู่เป็น CATEGORY_MISSED_CALL
  • ระบุรูปโปรไฟล์คุณภาพสูง (104dp) สำหรับผู้ใช้ ไม่เช่นนั้นระบบจะใช้อักษรย่อของบุคคลนั้น ซึ่งเป็นประสบการณ์ที่น่าสนใจน้อยกว่า
  • อย่าcancelการแจ้งเตือนการสนทนาก่อนที่ผู้ใช้จะเห็นข้อความ ตัวอย่างหนึ่งคือการยกเลิกการแจ้งเตือนเมื่อเปิดแอปในมุมมองที่ผู้ใช้ไม่เห็นหรือตอบข้อความไม่ได้ หากผู้ใช้ไม่มีโอกาสอ่านหรือตอบข้อความ ระบบจะนำการแจ้งเตือนที่ยกเลิกและบับเบิลที่เกี่ยวข้องออก ซึ่งส่งผลให้บริบทการสนทนาหายไป
  • ระบุ URI data สำหรับข้อมูลเมตาที่เกี่ยวข้องกับ MIME ซึ่งเชื่อมโยงกับข้อความ ซึ่งจะช่วยให้คุณมีตัวเลือกในการมอบประสบการณ์การใช้งานที่สมบูรณ์ยิ่งขึ้นในการแจ้งเตือน
  • ใช้ Android 12 status API เพื่อทำให้วิดเจ็ตการสนทนาน่าสนใจยิ่งขึ้น
  • ใช้แนวทางปฏิบัติแนะนำต่อไปนี้สำหรับทางลัดการสนทนา
    • เผยแพร่ทางลัดสำหรับการสนทนาในแอปทั้งขาเข้าและขาออกที่ไม่ส่งข้อความ Push ข้อความขาเข้าและข้อความขาออกสำหรับการสนทนาเดียวกันควรมีรหัสทางลัดเดียวกัน ใช้ pushDynamicShortcut() เพื่อเผยแพร่ทางลัดและรายงานการใช้งาน
    • โปรดระบุ AdaptiveIconDrawable สำหรับไอคอนของทางลัดเพื่อหลีกเลี่ยงการครอบตัดอวาตาร์ทางลัดโดยไม่ตั้งใจ ดูรายละเอียดเพิ่มเติมได้ที่การจัดหารูปภาพทางลัด
    • หากต้องการช่วยให้ระบบโปรโมตทางลัดของคุณ ให้ทำตามหลักเกณฑ์เพื่อให้ได้การจัดอันดับที่ดีที่สุด ทางลัดจะได้รับการจัดอันดับในแพลตฟอร์มต่างๆ ของระบบ ซึ่งรวมถึง Android Sharesheet หากเป็นทางลัดการแชร์
    • ตรวจสอบว่าทางลัดการสนทนา intents เปิดการสนทนาที่เกี่ยวข้องโดยตรง
    • ใช้ไลบรารีความเข้ากันได้เพื่อตั้งค่าทางลัดเป็น conversation ที่เกี่ยวข้องได้อย่างสะดวก

การทดสอบการแจ้งเตือนการสนทนาและทางลัด

การกดการสนทนาค้างไว้จะเปิดเมนูการดำเนินการที่เกี่ยวข้องกับการสนทนา
รูปที่ 3: คุณสามารถยืนยันว่าการแจ้งเตือนการสนทนาได้รับการกำหนดค่าอย่างถูกต้องโดยกดค้างที่การแจ้งเตือนนั้นและตรวจสอบว่าเมนูการสนทนาปรากฏขึ้น

หากคุณปฏิบัติตามหลักเกณฑ์ของพื้นที่การสนทนา การสนทนาควรปรากฏในพื้นที่การสนทนาโดยอัตโนมัติ คุณสามารถยืนยันว่าผสานรวมทางลัดอย่างถูกต้องแล้วโดยกดการแจ้งเตือนค้างไว้ หากการผสานรวมเสร็จสมบูรณ์ UI จะแสดงการดำเนินการที่เกี่ยวข้องกับการสนทนา หากการแจ้งเตือนไม่ได้ลิงก์กับทางลัด UI จะแสดงข้อความที่ระบุว่าแอปไม่รองรับฟีเจอร์การสนทนา

ทางลัดที่เพิ่มจะแสดงเมื่อกดค้างที่ตัวเปิดแอป อย่าลืมทดสอบว่าทางลัดจะนำคุณไปยังตำแหน่งที่ถูกต้องภายในแอป

ทางลัดการแชร์ที่เพิ่มจะแสดงในแถวการแชร์โดยตรงของชีตการแชร์เมื่อแชร์เนื้อหาที่ทางลัดการแชร์รับได้

วิดเจ็ตการสนทนา

การสนทนาที่แสดงในวิดเจ็ตการสนทนา
รูปที่ 1: การสนทนาที่แสดงในวิดเจ็ตการสนทนา

ใน Android 12 ฟีเจอร์วิดเจ็ตการสนทนาจะต่อยอดจากฟีเจอร์ผู้คนและการสนทนาที่เปิดตัวใน Android 11 โดยอนุญาตให้แอปแสดงสถานะการสนทนาในวิดเจ็ตการสนทนา

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

ตรวจสอบว่าแอปของคุณรองรับวิดเจ็ตการสนทนา

หากต้องการตรวจสอบว่าแอปรองรับวิดเจ็ตการสนทนาหรือไม่ คุณต้องมีอุปกรณ์ Android อย่างน้อย 2 เครื่อง (ทั้ง 2 เครื่องใช้ Android 12) และบัญชีผู้ใช้ 2 บัญชี (1 บัญชีในแต่ละอุปกรณ์) เพื่อแลกเปลี่ยนข้อความ เพื่อความสะดวกในการอธิบายขั้นตอน เราจะเรียกบัญชีทั้งสองว่า "ผู้ใช้ ก" และ "ผู้ใช้ ข"

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

ทำตามขั้นตอนต่อไปนี้ให้ครบถ้วน

  1. ในอุปกรณ์ของผู้ใช้ A ให้กด Launcher ค้างไว้ ในเครื่องมือเลือกวิดเจ็ต ให้แตะวิดเจ็ตใหม่สำหรับการสนทนาดังที่แสดงในรูปที่ 2
  2. ลากวิดเจ็ตไปยังหน้าจอหลัก รายการการสนทนาที่ใช้งานอยู่หรือล่าสุด จากแอปของผู้ใช้ A ควรเลือกได้
  3. ตอนนี้ให้ส่งข้อความทดสอบไปยังผู้ใช้ ก ในอุปกรณ์ของผู้ใช้ ข
  4. กลับไปที่อุปกรณ์ของผู้ใช้ ก แล้วยืนยันว่าวิดเจ็ตได้รับการอัปเดตเพื่อแสดงการแจ้งเตือนข้อความจากผู้ใช้ ข
  5. ไม่บังคับ: ให้ทั้งผู้ใช้ A และผู้ใช้ B ตั้งค่าการสนทนาเป็นค่าสถานะที่แตกต่างกันเพื่อให้แน่ใจว่าวิดเจ็ตแสดงค่าสถานะอย่างถูกต้อง ดูรายการค่าสถานะได้ที่ ConversationStatus