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

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

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

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


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

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

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

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

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

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

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

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

หลักเกณฑ์ของ API

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

ทางลัดสำหรับการสนทนา

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

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

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

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

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

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

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

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

ใช้ LocusIdCompat

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

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

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

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

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

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

การทำงานในกรณีที่เกิดข้อผิดพลาด: หากใช้ MessagingStyle แต่ไม่มีทางลัด

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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