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

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

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

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

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

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

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

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

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

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

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

UI ระบบการแจ้งเตือนของ Android และ API ที่เกี่ยวข้องกับการแจ้งเตือนอย่างต่อเนื่อง วิวัฒนาการ เพื่อใช้ฟีเจอร์ล่าสุดของ API การแจ้งเตือนในขณะที่รองรับเวอร์ชันเก่า ให้ใช้ Support Library Notifications API 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 สแต็กการแจ้งเตือนของระบบปฏิบัติการที่เปิดตัวใน Android 5.0 (API ระดับ 21)

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

Android 8.0, API ระดับ 26

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

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

  • ทำให้แอปที่มีการแจ้งเตือนที่ใช้งานอยู่แสดงป้ายการแจ้งเตือนทับ บนหน้าจอหลักหรือหน้าจอ 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 หากการแจ้งว่าไม่เหมาะสม Notification.FLAG_ONGOING_EVENT คือ หรือเครื่องมือควบคุมนโยบายด้านอุปกรณ์ (DPC) และแพ็กเกจสนับสนุนสำหรับ Enterprise กรณีนี้จะไม่มีผลเมื่อโทรศัพท์ล็อกอยู่ หรือในกรณีที่ ให้ผู้ใช้เลือกล้างทั้งหมด