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

โครงการริเริ่มเกี่ยวกับผู้คนและการสนทนาเป็นโครงการริเริ่มของ 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