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

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

หน้านี้จะแสดงภาพรวมของตำแหน่งที่การแจ้งเตือนจะปรากฏและ ใหม่ๆ หากต้องการเริ่มต้นสร้างการแจ้งเตือน โปรดอ่านสร้าง การแจ้งเตือน

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการออกแบบการแจ้งเตือนและรูปแบบการโต้ตอบ โปรดดูที่ การออกแบบการแจ้งเตือน

ลักษณะที่ปรากฏในอุปกรณ์

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

แถบสถานะและลิ้นชักการแจ้งเตือน

เมื่อคุณส่งการแจ้งเตือน การแจ้งเตือนจะปรากฏเป็นไอคอนในแถบสถานะก่อน

รูปที่ 1 ไอคอนการแจ้งเตือนจะปรากฏขึ้นทางด้านซ้ายของแถบสถานะ

ผู้ใช้สามารถปัดลงในแถบสถานะเพื่อเปิดลิ้นชักการแจ้งเตือน บุตรหลานจะดูรายละเอียดเพิ่มเติมและดำเนินการต่างๆ กับการแจ้งเตือนได้

รูปที่ 2 การแจ้งเตือนในลิ้นชักการแจ้งเตือน

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

การแจ้งเตือนจะยังคงปรากฏให้เห็นในลิ้นชักการแจ้งเตือนจนกว่าจะปิดไป โดยแอปหรือผู้ใช้

การแจ้งเตือนล่วงหน้า

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

รูปที่ 3 การแจ้งเตือนล่วงหน้าจะปรากฏขึ้นด้านหน้า แอปที่ทำงานอยู่เบื้องหน้า

การแจ้งเตือนล่วงหน้าจะปรากฏขึ้นเมื่อแอปออกการแจ้งเตือน แต่จะหายไปหลังจากผ่านไปครู่หนึ่ง แต่จะยังปรากฏให้เห็นในลิ้นชักการแจ้งเตือนตามปกติ

เงื่อนไขที่อาจทริกเกอร์การแจ้งเตือนล่วงหน้า ได้แก่

  • กิจกรรมของผู้ใช้อยู่ในโหมดเต็มหน้าจอ เช่น เมื่อแอปใช้ fullScreenIntent

  • การแจ้งเตือนมีลำดับความสำคัญสูงและใช้เสียงเรียกเข้าหรือการสั่นใน อุปกรณ์ที่ใช้ Android 7.1 (API ระดับ 25) และต่ำกว่า

  • ช่องทางการแจ้งเตือนมีความสำคัญสูงในอุปกรณ์ที่ใช้ Android 8.0 (API ระดับ 26) ขึ้นไป

ล็อกหน้าจอ

การแจ้งเตือนอาจปรากฏในหน้าจอล็อกได้สำหรับ Android 5.0 เป็นต้นไป

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

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

รูปที่ 4 การแจ้งเตือนในหน้าจอล็อกที่มีการซ่อนเนื้อหาที่ละเอียดอ่อน

ดูข้อมูลเพิ่มเติมได้ที่ตั้งค่าหน้าจอล็อก ระดับการเข้าถึง

ป้ายบนไอคอนของแอป

ใน Launcher ที่รองรับในอุปกรณ์ที่ใช้ Android 8.0 (API ระดับ 26) ขึ้นไป ไอคอนแอปบ่งบอกถึงการแจ้งเตือนใหม่ด้วยป้ายสีที่เรียกว่า เครื่องหมายจุดแสดงการแจ้งเตือนบนไอคอนตัวเปิดแอปที่เกี่ยวข้อง

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

รูปที่ 5 ป้ายการแจ้งเตือนและการแตะและ เมนูค้างไว้

อ่านข้อมูลเพิ่มเติมเกี่ยวกับการทำงานของป้ายได้ที่แก้ไขการแจ้งเตือน

อุปกรณ์ Wear OS

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

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

รูปที่ 6 การแจ้งเตือนจะปรากฏใน Wear OS ที่จับคู่ไว้โดยอัตโนมัติ อุปกรณ์

ส่วนต่างๆ ของการแจ้งเตือน

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

รูปที่ 7 การแจ้งเตือนที่มีรายละเอียดเบื้องต้น

ส่วนต่างๆ ของการแจ้งเตือนที่ใช้กันโดยทั่วไปแสดงอยู่ในรูปที่ 7 ดังนี้

  1. ไอคอนขนาดเล็ก: ต้องระบุ โดยตั้งค่าโดยใช้ setSmallIcon()
  2. ชื่อแอป: กำหนดโดยระบบ
  3. การประทับเวลา: มีให้โดยระบบ แต่คุณสามารถลบล้างได้โดยใช้ setWhen() หรือซ่อนได้โดยใช้ setShowWhen(false)
  4. ไอคอนขนาดใหญ่: ไม่บังคับ มักใช้กับรูปภาพรายชื่อติดต่อเท่านั้น อย่าใช้สำหรับไอคอนแอป ตั้งค่าโดยใช้ setLargeIcon()
  5. หัวข้อ: ไม่บังคับ; ตั้งค่าโดยใช้ setContentTitle()
  6. ข้อความ: ไม่บังคับ ตั้งค่าโดยใช้ setContentText()

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

หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับวิธีสร้างการแจ้งเตือนด้วยฟีเจอร์เหล่านี้ และ เพิ่มเติม โปรดอ่านสร้าง การแจ้งเตือน

การดำเนินการกับการแจ้งเตือน

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

รูปที่ 8 การแจ้งเตือนที่มีปุ่มการทำงาน

เริ่มตั้งแต่ Android 7.0 (API ระดับ 24) เป็นต้นไป คุณจะเพิ่มการทำงานเพื่อตอบกลับข้อความหรือป้อนข้อความอื่นๆ จากการแจ้งเตือนโดยตรงได้อีกด้วย

ตั้งแต่ Android 10 (API ระดับ 29) แพลตฟอร์มสามารถสร้าง ปุ่มดำเนินการพร้อมการดำเนินการตามความตั้งใจที่แนะนำ

ดูคำอธิบายเพิ่มเติมเกี่ยวกับการเพิ่มปุ่มการทำงานได้ในสร้างการแจ้งเตือน

ต้องใช้อุปกรณ์ที่ปลดล็อก

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

ใน Android 12 (API ระดับ 31) ขึ้นไป คุณสามารถกําหนดค่าการดําเนินการจากการแจ้งเตือนเพื่อให้อุปกรณ์ปลดล็อกอยู่เพื่อให้แอปเรียกใช้การดำเนินการดังกล่าวได้ ไม่ว่าการดำเนินการจะเปิดใช้งานเวิร์กโฟลว์ใดก็ตาม ตัวเลือกนี้จะเพิ่มความปลอดภัยอีกชั้นให้กับการแจ้งเตือนในอุปกรณ์ที่ล็อกอยู่

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

Kotlin

val moreSecureNotification = Notification.Action.Builder(...)

    // This notification always requests authentication when invoked
    // from a lock screen.
    .setAuthenticationRequired(true)
    .build()

Java

Notification moreSecureNotification = new Notification.Action.Builder(...)

    // This notification always requests authentication when invoked
    // from a lock screen.
    .setAuthenticationRequired(true)
    .build();

การแจ้งเตือนที่ขยายได้

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

รูปที่ 9 การแจ้งเตือนที่ขยายได้สำหรับข้อความยาว

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

การอัปเดตและกลุ่มการแจ้งเตือน

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

อย่างไรก็ตาม หากจำเป็นต้องส่งการแจ้งเตือนหลายรายการ ให้พิจารณาจัดกลุ่มการแจ้งเตือนที่แยกกันให้เป็นกลุ่มเดียว ซึ่งใช้งานได้ใน Android 7.0 ขึ้นไป

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

รูปที่ 10 กลุ่มการแจ้งเตือนที่ยุบและขยาย

ดูวิธีเพิ่มการแจ้งเตือนไปยังกลุ่มได้ที่สร้างกลุ่มของ การแจ้งเตือน

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

เริ่มตั้งแต่ Android 8.0 (API ระดับ 26) เป็นต้นไป การแจ้งเตือนทั้งหมดต้องได้รับการกำหนดให้กับ หรือไม่ปรากฏขึ้น การดำเนินการนี้จะทำให้ผู้ใช้ปิดใช้การแจ้งเตือนที่ต้องการได้ ของแอปแทนการปิดใช้การแจ้งเตือนทั้งหมด ผู้ใช้สามารถควบคุมตัวเลือกภาพและเสียงสำหรับแต่ละช่องทางจากการตั้งค่าของระบบ Android ดังที่แสดงในรูปที่ 11 ผู้ใช้ยังสามารถแตะ ระงับการแจ้งเตือนเพื่อ เปลี่ยนลักษณะการทำงานของช่องที่เชื่อมโยง

สำหรับอุปกรณ์ที่ใช้ Android 7.1 (API ระดับ 25) และต่ำกว่า ผู้ใช้จัดการการแจ้งเตือนได้ทีละแอปเท่านั้น แต่ละแอปจะมีเพียงช่องทางเดียวอย่างมีประสิทธิภาพ บน Android 7.1 และต่ำกว่า

รูปที่ 11 การตั้งค่าการแจ้งเตือนสำหรับแอปนาฬิกาและช่องทางใดช่องทางหนึ่งของแอปนั้น

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

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

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

ความสำคัญของการแจ้งเตือน

Android ใช้ความสำคัญของการแจ้งเตือนเพื่อกำหนดว่า จะรบกวนผู้ใช้และได้ยินเสียงแจ้งเตือน ยิ่งความสำคัญสูง การแจ้งเตือนก็จะยิ่งรบกวนผู้ใช้มากขึ้น

สำหรับ Android 7.1 (API ระดับ 25) และต่ำกว่า ความสำคัญของการแจ้งเตือนจะกำหนดโดย priority ของการแจ้งเตือน

ใน Android 8.0 (API ระดับ 26) ขึ้นไป ความสำคัญของการแจ้งเตือนคือ กำหนดโดย importance ของช่องที่โพสต์การแจ้งเตือนนั้น ผู้ใช้เปลี่ยนความสำคัญของช่องทางการแจ้งเตือนได้ในการตั้งค่าระบบ ดังที่แสดงในรูปที่ 12

รูปที่ 12 ผู้ใช้เปลี่ยนความสำคัญของแต่ละช่องทางใน Android ได้ 8.0 ขึ้นไป

ระดับความสำคัญและลักษณะการแจ้งเตือนที่เกี่ยวข้องมีดังนี้

  • ด่วน: มีเสียงเตือนและแสดงเป็นการแจ้งเตือนล่วงหน้า

  • สูง: ส่งเสียง

  • ปานกลาง: ไม่มีเสียงเตือน

  • ต่ำ: ไม่ส่งเสียงและไม่ปรากฏในแถบสถานะ

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

ดูข้อมูลเพิ่มเติมได้ที่วิธีกำหนดความสำคัญ

โหมดห้ามรบกวน

ผู้ใช้เปิดใช้โหมดห้ามรบกวนได้ใน Android 5.0 (API ระดับ 21) เป็นต้นไป ซึ่งจะปิดเสียงและการสั่นสำหรับการแจ้งเตือนทั้งหมด การแจ้งเตือนจะยังปรากฏใน UI ระบบตามปกติ เว้นแต่ผู้ใช้จะระบุเป็นอย่างอื่น

โหมดห้ามรบกวนมี 3 ระดับดังนี้

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

รูปที่ 13 ผู้ใช้อนุญาตให้แสดงการแจ้งเตือนได้ตามหมวดหมู่สำหรับทั้งระบบ (ด้านซ้าย) และผู้ส่งหรือผู้โทร (ด้านขวา)

ใน Android 8.0 (API ระดับ 26) ขึ้นไป ผู้ใช้สามารถอนุญาต สำหรับหมวดหมู่เฉพาะของแอป หรือที่เรียกว่า โดยการลบล้างโหมดห้ามรบกวนไปทีละช่อง ตัวอย่างเช่น แอปสำหรับการชำระเงินอาจมีช่องทางสำหรับการแจ้งเตือนที่เกี่ยวข้องกับการถอนและการฝากเงิน ผู้ใช้สามารถอนุญาตให้แสดงการแจ้งเตือนการถอนเงิน การแจ้งเตือนการฝากเงิน หรือทั้ง 2 อย่างเมื่อใช้โหมดลำดับความสำคัญสูง

สำหรับอุปกรณ์ที่ใช้ Android 7.1 (API ระดับ 25) และต่ำกว่า ผู้ใช้อนุญาตให้แสดงการแจ้งเตือนแบบทีละแอปได้ แทนที่จะอนุญาตแบบทีละช่องทาง

ในการกำหนดค่าการแจ้งเตือนสำหรับการตั้งค่าของผู้ใช้เหล่านี้ คุณต้องตั้งค่า ทั้งระบบ หมวดหมู่ [category]

การแจ้งเตือนสำหรับบริการที่ทำงานอยู่เบื้องหน้า

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

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

ขีดจํากัดของโพสต์

ตั้งแต่ Android 8.1 (API ระดับ 27) เป็นต้นไป แอปจะไม่สามารถส่งเสียงการแจ้งเตือนได้ มากกว่า 1 ครั้งต่อวินาที หากแอปโพสต์การแจ้งเตือนหลายรายการในที่เดียว รายการที่ 2 ทั้งหมดจะปรากฏตามที่คาดไว้ แต่จะแสดงเฉพาะการแจ้งเตือนแรกต่อวินาทีเท่านั้น จะส่งเสียง

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

ความเข้ากันได้ของการแจ้งเตือน

UI ระบบการแจ้งเตือนของ Android และ API ที่เกี่ยวข้องกับการแจ้งเตือนอย่างต่อเนื่อง วิวัฒนาการ หากต้องการใช้ฟีเจอร์ Notification API ล่าสุดขณะที่รองรับอุปกรณ์รุ่นเก่า ให้ใช้ Notification API ของ Support Library ซึ่งได้แก่ NotificationCompat และคลาสย่อย รวมถึง NotificationManagerCompat ซึ่งจะช่วยให้คุณไม่ต้องเขียนโค้ดแบบมีเงื่อนไขเพื่อตรวจสอบระดับ API เนื่องจาก API เหล่านี้จะจัดการเรื่องดังกล่าวให้คุณเอง

NotificationCompat จะได้รับการอัปเดตขณะที่แพลตฟอร์มค่อยๆ พัฒนาขึ้นให้รวมเวอร์ชันล่าสุด อย่างไรก็ตาม ความพร้อมใช้งานของเมธอดใน NotificationCompat ไม่ได้รับประกันว่าฟีเจอร์ที่เกี่ยวข้องจะมีให้ใช้งานในอุปกรณ์รุ่นเก่า ในบางกรณี การเรียกใช้ API ที่เพิ่งเปิดตัวจะทำให้ดำเนินการต่างๆ ในอุปกรณ์รุ่นเก่าไม่ได้

ต่อไปนี้เป็นสรุปการเปลี่ยนแปลงลักษณะการทำงานที่เด่นชัดที่สุดตามระดับ API สำหรับการแจ้งเตือนใน Android

Android 5.0, API ระดับ 21

  • เปิดตัวการแจ้งเตือนในหน้าจอล็อกและการแจ้งเตือนล่วงหน้า

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

  • เพิ่มวิธีการตั้งค่าว่าจะให้แสดงการแจ้งเตือนในหน้าจอล็อกหรือไม่ เช่น setVisibility()), และเพื่อระบุข้อความแจ้งเตือนเวอร์ชัน "สาธารณะ"

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

  • เพิ่มการรองรับสแต็กการแจ้งเตือนในอุปกรณ์ Android Wear (ตอนนี้ใช้ชื่อว่า Wear OS) ใส่การแจ้งเตือนลงในกองโดยใช้ setGroup() สแต็กการแจ้งเตือนซึ่งต่อมาเรียกว่ากลุ่มหรือบันเดิลยังไม่รองรับในแท็บเล็ตหรือโทรศัพท์จนกว่าจะใช้ Android 7.0 (API ระดับ 24)

Android 7.0, API ระดับ 24

  • เปลี่ยนสไตล์เทมเพลตการแจ้งเตือนเพื่อเน้นรูปภาพหลักและ อวาตาร์

  • เพิ่มเทมเพลตการแจ้งเตือน 3 แบบ โดยแบบแรกสำหรับแอปรับส่งข้อความและอีก 2 แบบ สำหรับการตกแต่งมุมมองเนื้อหาที่กำหนดเอง ด้วยค่าใช้จ่ายที่ขยายได้และ การตกแต่งระบบ

  • เพิ่มการรองรับอุปกรณ์มือถือ เช่น โทรศัพท์และแท็บเล็ตสำหรับ กลุ่มการแจ้งเตือน ใช้ API เดียวกันกับสแต็กการแจ้งเตือน Android Wear (ปัจจุบันใช้ชื่อว่า Wear OS) ที่เปิดตัวใน Android 5.0 (API ระดับ 21)

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

Android 8.0, API ระดับ 26

  • ทำให้การแจ้งเตือนแต่ละรายการอยู่ในแชแนลที่เฉพาะเจาะจง

  • อนุญาตให้ผู้ใช้ปิดการแจ้งเตือนต่อช่องแทนการปิดการแจ้งเตือนทั้งหมด การแจ้งเตือนจากแอป

  • ทำให้แอปที่มีการแจ้งเตือนที่ใช้งานอยู่แสดงป้ายการแจ้งเตือนทับ บนหน้าจอหลักหรือหน้าจอ Launcher

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

  • ช่วยให้คุณตั้งค่าสีพื้นหลังของการแจ้งเตือนได้

  • ย้าย API บางรายการเกี่ยวกับลักษณะการแจ้งเตือนจาก Notification ถึง NotificationChannel ตัวอย่างเช่น ให้ใช้ NotificationChannel.setImportance() แทนที่จะเป็น NotificationCompat.Builder.setPriority() สำหรับ Android 8.0 ขึ้นไป

Android 13.0, API ระดับ 33

Android 14.0, API ระดับ 34

  • จำกัดการแจ้งเตือน Intent แบบเต็มหน้าจอไว้สำหรับแอปที่มีการโทรและการปลุก ใช้ NotificationManager.canUseFullScreenIntent API เพื่อตรวจสอบว่าแอปของคุณมีสิทธิ์หรือไม่ หากไม่มี แอปของคุณสามารถใช้ ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT เพื่อเปิดหน้าการตั้งค่า ซึ่งผู้ใช้สามารถให้สิทธิ์ได้

  • เปลี่ยนวิธีที่ผู้ใช้เห็นการแจ้งเตือนที่ปิดไม่ได้โดยอนุญาต ผู้ใช้ยกเลิกการดำเนินการแจ้งเตือนแม้ว่า ตั้งค่าแฟล็ก Notification.FLAG_ONGOING_EVENT แล้ว การดำเนินการนี้จะไม่มีผลกับการแจ้งเตือน CallStyle หากตั้งค่า Flag Notification.FLAG_ONGOING_EVENT หรือตัวควบคุมนโยบายอุปกรณ์ (DPC) และแพ็กเกจที่รองรับสำหรับองค์กร นอกจากนี้ การตั้งค่านี้จะไม่มีผลเมื่อโทรศัพท์ล็อกอยู่ หรือหากผู้ใช้เลือกล้างทั้งหมด