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

โครงการริเริ่มเกี่ยวกับผู้คนและการสนทนาเป็นโครงการริเริ่มของ 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 กับทางลัด และกำกับเนื้อหากิจกรรมในแอปหรือข้อมูลโค้ดส่วนนั้นด้วย LocusIdCompat ที่เชื่อมโยง ใช้ LocusIdCompat เพื่อเปิดใช้ระบบการแนะนำในการจัดอันดับการสนทนาอย่างเหมาะสม และเพื่อเปิดใช้ระบบในการแสดงเวลาที่ถูกต้องของการโต้ตอบครั้งล่าสุดของผู้ใช้ (รวมถึงการโต้ตอบในแอป) กับการสนทนา หากคุณใช้ setShortcutInfo() เพื่อเชื่อมโยงการสนทนากับทางลัด ระบบการสนทนาจะแนบ LocusIdCompat ที่เหมาะสมโดยอัตโนมัติ

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

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

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

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

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

สำรอง: หากมีการใช้ 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. ไม่บังคับ: ให้ทั้งผู้ใช้ ก และผู้ใช้ ข ตั้งค่าการสนทนาเป็นค่าสถานะที่แตกต่างกันเพื่อให้วิดเจ็ตแสดงค่าดังกล่าวอย่างถูกต้อง ดูรายการค่าสถานะได้ที่ ConversationStatus