การแจ้งเตือนคือข้อความที่ Android แสดงนอกเหนือไปจาก UI ของแอปเพื่อส่งการช่วยเตือน การสื่อสารจากบุคคลอื่น หรือข้อมูลอื่นที่เหมาะกับเวลานั้นๆ จากแอปไปให้ผู้ใช้ ผู้ใช้สามารถแตะการแจ้งเตือนเพื่อเปิดแอปหรือดำเนินการจากการแจ้งเตือนนั้นๆ ได้โดยตรง
หน้านี้แสดงภาพรวมของตำแหน่งที่การแจ้งเตือนปรากฏและฟีเจอร์ที่มีให้ใช้งาน หากต้องการเริ่มสร้างการแจ้งเตือน โปรดอ่านสร้างการแจ้งเตือน
ดูข้อมูลเพิ่มเติมเกี่ยวกับการออกแบบการแจ้งเตือนและรูปแบบการโต้ตอบได้ที่คู่มือการออกแบบการแจ้งเตือน
ลักษณะที่ปรากฏในอุปกรณ์
การแจ้งเตือนจะปรากฏต่อผู้ใช้ในตำแหน่งและรูปแบบที่แตกต่างกันโดยอัตโนมัติ การแจ้งเตือนจะปรากฏเป็นไอคอนในแถบสถานะ เป็นรายการที่มีรายละเอียดมากขึ้นในลิ้นชักการแจ้งเตือน และป้ายบนไอคอนของแอป นอกจากนี้ การแจ้งเตือนจะปรากฏในอุปกรณ์ที่สวมใส่ที่จับคู่ไว้ด้วย
แถบสถานะและลิ้นชักการแจ้งเตือน
เมื่อคุณส่งการแจ้งเตือน การแจ้งเตือนจะปรากฏเป็นไอคอนในแถบสถานะก่อน
ผู้ใช้จะเลื่อนนิ้วลงบนแถบสถานะเพื่อเปิดลิ้นชักการแจ้งเตือนได้เพื่อดูรายละเอียดเพิ่มเติมและดำเนินการต่างๆ จากการแจ้งเตือน
ผู้ใช้ลากนิ้วลงบนการแจ้งเตือนในลิ้นชักเพื่อเปิดมุมมองแบบขยายซึ่งจะแสดงเนื้อหาเพิ่มเติมและปุ่มการทำงานในกรณีที่มีให้ใช้งาน ตั้งแต่ Android 13 เป็นต้นไป มุมมองแบบขยายจะมีปุ่มที่ช่วยให้ผู้ใช้หยุดแอปที่มีบริการที่ทำงานอยู่เบื้องหน้าได้
การแจ้งเตือนจะยังคงปรากฏให้เห็นในลิ้นชักการแจ้งเตือนจนกว่าแอปหรือผู้ใช้จะปิดไป
การแจ้งเตือนล่วงหน้า
เริ่มตั้งแต่ Android 5.0 เป็นต้นไป การแจ้งเตือนอาจปรากฏขึ้นเพียงชั่วครู่ในหน้าต่างแบบลอยซึ่งเรียกว่าการแจ้งเตือนล่วงหน้า ปกติแล้วลักษณะการทำงานนี้ใช้สำหรับการแจ้งเตือนสำคัญซึ่งผู้ใช้จำเป็นต้องทราบทันที และจะปรากฏขึ้นเฉพาะเมื่ออุปกรณ์ไม่ได้ล็อกอยู่เท่านั้น
การแจ้งเตือนล่วงหน้าจะปรากฏขึ้นเมื่อแอปส่งการแจ้งเตือน แต่จะหายไปหลังจากผ่านไปครู่หนึ่ง แต่จะยังปรากฏให้เห็นในลิ้นชักการแจ้งเตือนตามปกติ
เงื่อนไขที่อาจเรียกให้การแจ้งเตือนล่วงหน้าแสดงขึ้นมีดังนี้
กิจกรรมของผู้ใช้อยู่ในโหมดเต็มหน้าจอ เช่น เมื่อแอปใช้
fullScreenIntent
การแจ้งเตือนมีลำดับความสำคัญสูงและใช้เสียงเรียกเข้าหรือการสั่นในอุปกรณ์ที่ใช้ Android 7.1 (API ระดับ 25) และต่ำกว่า
ช่องทางการแจ้งเตือนมีความสำคัญสูงในอุปกรณ์ที่ใช้ Android 8.0 (API ระดับ 26) ขึ้นไป
ล็อกหน้าจอ
การแจ้งเตือนอาจปรากฏในหน้าจอล็อกได้สำหรับ Android 5.0 เป็นต้นไป
คุณเขียนโปรแกรมเพื่อกำหนดว่าจะให้การแจ้งเตือนซึ่งแอปโพสต์แสดงในหน้าจอล็อกที่ปลอดภัยหรือไม่ และหากแสดง ระดับรายละเอียดที่มองเห็นได้
ผู้ใช้อาจใช้การตั้งค่าระบบเพื่อเลือกระดับรายละเอียดที่มองเห็นในการแจ้งเตือนในหน้าจอล็อก หรือปิดการแจ้งเตือนในหน้าจอล็อกทั้งหมด ตั้งแต่ Android 8.0 เป็นต้นไป ผู้ใช้จะปิดหรือเปิดใช้การแจ้งเตือนในหน้าจอล็อกสำหรับช่องทางการแจ้งเตือนแต่ละช่องทางได้
ดูข้อมูลเพิ่มเติมได้ที่กำหนดระดับการเข้าถึงหน้าจอล็อก
ป้ายบนไอคอนของแอป
ใน Launcher ที่ใช้งานได้ในอุปกรณ์ที่ใช้ Android 8.0 (API ระดับ 26) ขึ้นไป ไอคอนแอปจะแสดงการแจ้งเตือนใหม่ๆ ด้วยป้ายที่มีสี หรือที่เรียกว่าจุดแสดงการแจ้งเตือนบนไอคอนตัวเปิดแอปสำหรับแอปนั้นๆ
ผู้ใช้สามารถแตะไอคอนแอปค้างไว้เพื่อดูการแจ้งเตือนของแอปนั้นๆ ผู้ใช้สามารถปิดหรือดำเนินการต่างๆ ในการแจ้งเตือนจากเมนูนั้นได้ซึ่งคล้ายกับลิ้นชักการแจ้งเตือน
อ่านข้อมูลเพิ่มเติมเกี่ยวกับการทำงานของป้ายได้ที่แก้ไขป้ายแสดงการแจ้งเตือน
อุปกรณ์ Wear OS
หากผู้ใช้มีอุปกรณ์ Wear OS ที่จับคู่ไว้ การแจ้งเตือนทั้งหมดของคุณจะปรากฏในอุปกรณ์ดังกล่าวโดยอัตโนมัติ รวมถึงรายละเอียดที่ขยายได้และปุ่มการทำงาน
คุณปรับปรุงประสบการณ์การใช้งานได้ด้วยการปรับแต่งลักษณะของการแจ้งเตือนในอุปกรณ์ที่สวมใส่ได้ รวมทั้งจัดให้มีบริการแบบต่างๆ เช่น การตอบกลับที่แนะนำและการตอบกลับด้วยเสียง ดูข้อมูลเพิ่มเติมได้ในวิธีเพิ่มฟีเจอร์เฉพาะสำหรับอุปกรณ์ที่สวมใส่ได้ในการแจ้งเตือน
ส่วนต่างๆ ของการแจ้งเตือน
ดีไซน์ของการแจ้งเตือนกำหนดโดยเทมเพลตของระบบ และแอปของคุณกำหนดเนื้อหาในแต่ละส่วนของเทมเพลต รายละเอียดบางอย่างของการแจ้งเตือนจะปรากฏเฉพาะในมุมมองแบบขยาย
ส่วนต่างๆ ของการแจ้งเตือนที่ใช้กันโดยทั่วไปแสดงอยู่ในรูปที่ 7 ดังนี้
- ไอคอนขนาดเล็ก: ต้องระบุ โดยตั้งค่าโดยใช้
setSmallIcon()
- ชื่อแอป: กำหนดโดยระบบ
- การประทับเวลา: ระบบเป็นผู้ระบุ แต่คุณสามารถลบล้างได้โดยใช้
setWhen()
หรือซ่อนโดยใช้setShowWhen(false)
- ไอคอนขนาดใหญ่: มีหรือไม่ก็ได้ โดยปกติจะใช้สำหรับรูปภาพผู้ติดต่อเท่านั้น
อย่าใช้โลโก้ดังกล่าวเป็นไอคอนแอป ตั้งค่าโดยใช้
setLargeIcon()
- ชื่อ: ไม่บังคับ ตั้งค่าโดยใช้
setContentTitle()
- ข้อความ: ไม่บังคับ ตั้งค่าโดยใช้
setContentText()
เราขอแนะนําอย่างยิ่งให้ใช้เทมเพลตของระบบเพื่อให้การออกแบบทั้งหมดมีความเข้ากันได้อย่างเหมาะสมในทุกอุปกรณ์ คุณสร้างเลย์เอาต์การแจ้งเตือนที่กำหนดเองได้หากจำเป็น
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีสร้างการแจ้งเตือนด้วยฟีเจอร์เหล่านี้และเรื่องอื่นๆ โปรดอ่านสร้างการแจ้งเตือน
การดำเนินการกับการแจ้งเตือน
แม้ว่าจะไม่จำเป็น แต่เราขอแนะนำให้การแจ้งเตือนทุกครั้งเปิดกิจกรรมที่เหมาะสมของแอปเมื่อมีการแตะ นอกเหนือจากการทำงานในการแจ้งเตือนที่เป็นค่าเริ่มต้นนี้ คุณจะเพิ่มปุ่มการทำงานสำหรับทำงานที่เกี่ยวข้องกับแอปจากการแจ้งเตือนได้ (โดยมากไม่ต้องเปิดกิจกรรมขึ้นมา) ดังที่แสดงในรูปที่ 8
เริ่มตั้งแต่ Android 7.0 (API ระดับ 24) เป็นต้นไป คุณจะเพิ่มการทำงานเพื่อตอบกลับข้อความหรือป้อนข้อความอื่นๆ จากการแจ้งเตือนโดยตรงได้อีกด้วย
ตั้งแต่ Android 10 (API ระดับ 29) เป็นต้นไป แพลตฟอร์มจะสร้างปุ่มดำเนินการโดยอัตโนมัติพร้อมการดำเนินการตาม Intent ที่แนะนำ
ดูคำอธิบายเพิ่มเติมเกี่ยวกับการเพิ่มปุ่มการทำงานได้ในสร้างการแจ้งเตือน
ต้องใช้อุปกรณ์ที่ปลดล็อก
ผู้ใช้อาจเห็นการดำเนินการของการแจ้งเตือนบนหน้าจอล็อกของอุปกรณ์ หากการดำเนินการจากการแจ้งเตือนทําให้แอปเปิดกิจกรรมหรือส่งการตอบกลับโดยตรง ผู้ใช้จะต้องปลดล็อกอุปกรณ์ก่อนเพื่อให้แอปเรียกการดำเนินการจากการแจ้งเตือนนั้นได้
ใน 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
นอกจากนี้คุณยังสร้างการแจ้งเตือนที่ขยายได้พร้อมด้วยรูปภาพ อยู่ในรูปแบบกล่องจดหมาย มีการสนทนาแบบแชท หรือมีการควบคุมการเล่นสื่อ อ่านข้อมูลเพิ่มเติมได้ที่หัวข้อสร้างการแจ้งเตือนที่ขยายได้
การอัปเดตและกลุ่มการแจ้งเตือน
หากต้องการหลีกเลี่ยงการส่งการแจ้งเตือนจำนวนมากหรือซ้ำซ้อนแก่ผู้ใช้เมื่อคุณมีการอัปเดตเพิ่มเติม ให้อัปเดตการแจ้งเตือนที่มีอยู่แทนที่จะส่งการแจ้งเตือนรายการใหม่ หรือใช้การแจ้งเตือนรูปแบบกล่องจดหมายเพื่อแสดงอัปเดตการสนทนา
อย่างไรก็ตาม หากจำเป็นต้องส่งการแจ้งเตือนหลายรายการ ให้พิจารณาจัดกลุ่มการแจ้งเตือนที่แยกกันให้เป็นกลุ่มเดียว ซึ่งใช้งานได้ใน Android 7.0 ขึ้นไป
กลุ่มการแจ้งเตือนช่วยให้คุณยุบการแจ้งเตือนหลายรายการเป็นโพสต์เดียวในลิ้นชักการแจ้งเตือนพร้อมกับสรุปได้ ผู้ใช้จะค่อยๆ ขยายกลุ่มการแจ้งเตือนและการแจ้งเตือนแต่ละรายการในกลุ่มนั้นๆ เพื่อดูรายละเอียดเพิ่มเติมได้ ดังที่แสดงในรูปที่ 10
ดูวิธีเพิ่มการแจ้งเตือนไปยังกลุ่มได้ในสร้างกลุ่มการแจ้งเตือน
ช่องทางการแจ้งเตือน
เริ่มตั้งแต่ Android 8.0 (API ระดับ 26) เป็นต้นไป การแจ้งเตือนทั้งหมดจะต้องมีการกำหนดให้แก่ช่องทาง มิเช่นนั้นจะไม่ปรากฏขึ้น ซึ่งช่วยให้ผู้ใช้ปิดใช้ช่องทางการแจ้งเตือนหนึ่งๆ สำหรับแอปได้ แทนที่จะปิดใช้การแจ้งเตือนทั้งหมด ผู้ใช้สามารถควบคุมตัวเลือกภาพและเสียงสำหรับแต่ละช่องทางจากการตั้งค่าของระบบ Android ดังที่แสดงในรูปที่ 11 นอกจากนี้ผู้ใช้ยังแตะการแจ้งเตือนค้างไว้เพื่อเปลี่ยนลักษณะการทํางานของช่องทางที่เกี่ยวข้องได้อีกด้วย
สำหรับอุปกรณ์ที่ใช้ Android 7.1 (API ระดับ 25) และต่ำกว่า ผู้ใช้จัดการการแจ้งเตือนได้ทีละแอปเท่านั้น แต่ละแอปมีช่องทางเดียวใน Android 7.1 และต่ำกว่า
แอปหนึ่งๆ มีช่องทางแยกต่างหากสำหรับการแจ้งเตือนแต่ละประเภทที่แอปส่งไป นอกจากนี้แอปยังสร้างช่องทางการแจ้งเตือนเพื่อตอบสนองต่อตัวเลือกที่ผู้ใช้เลือกได้อีกด้วย เช่น คุณอาจตั้งค่าช่องทางการแจ้งเตือนแยกต่างหากสำหรับแต่ละกลุ่มการสนทนาแต่ละกลุ่มที่ผู้ใช้สร้างขึ้นในแอปรับส่งข้อความ
ช่องทางนี้ยังเป็นที่ที่คุณระบุระดับความสำคัญสำหรับการแจ้งเตือนใน Android 8.0 ขึ้นไปด้วย ดังนั้นการแจ้งเตือนทั้งหมดที่โพสต์ในช่องทางการแจ้งเตือนเดียวกันจะมีลักษณะการทำงานเหมือนกัน โปรดดูคำอธิบายในส่วนต่อไปนี้
ดูข้อมูลเพิ่มเติมได้ที่หัวข้อสร้างและจัดการช่องทางการแจ้งเตือน
ความสำคัญของการแจ้งเตือน
Android ใช้ความสำคัญของการแจ้งเตือนเพื่อกำหนดว่าการแจ้งเตือนควรรบกวนผู้ใช้ด้วยภาพและเสียงมากน้อยเพียงใด ยิ่งการแจ้งเตือนมีความสำคัญมากเท่าใด การแจ้งเตือนก็จะยิ่งรบกวนผู้ใช้มากขึ้นเท่านั้น
สำหรับ Android 7.1 (API ระดับ 25) และต่ำกว่า ความสำคัญของการแจ้งเตือนจะกำหนดโดย priority
ของการแจ้งเตือน
ใน Android 8.0 (API ระดับ 26) ขึ้นไป ความสำคัญของการแจ้งเตือนจะกำหนดโดย importance
ของช่องทางที่มีการโพสต์การแจ้งเตือนนั้น ผู้ใช้เปลี่ยนความสำคัญของช่องทางการแจ้งเตือนได้ในการตั้งค่าระบบ ดังที่แสดงในรูปที่ 12
ระดับความสำคัญและลักษณะการแจ้งเตือนที่เกี่ยวข้องมีดังนี้
ด่วน: มีเสียงเตือนและแสดงเป็นการแจ้งเตือนล่วงหน้า
สูง: มีเสียงเตือน
ปานกลาง: ไม่มีเสียงเตือน
ต่ำ: ไม่มีเสียงเตือนและไม่ปรากฏในแถบสถานะ
การแจ้งเตือนทั้งหมดไม่ว่าจะมีความสำคัญระดับใดจะปรากฏในตำแหน่ง UI ของระบบที่ไม่ก่อให้เกิดการรบกวน เช่น ในลิ้นชักการแจ้งเตือนและป้ายบนไอคอน Launcher แต่คุณแก้ไขลักษณะที่ปรากฏของป้ายการแจ้งเตือนได้
ดูข้อมูลเพิ่มเติมได้ที่วิธีกำหนดความสำคัญ
โหมดห้ามรบกวน
ผู้ใช้เปิดใช้โหมดห้ามรบกวนได้ใน Android 5.0 (API ระดับ 21) เป็นต้นไป ซึ่งจะปิดเสียงและการสั่นสำหรับการแจ้งเตือนทั้งหมด การแจ้งเตือนจะยังปรากฏใน UI ระบบตามปกติ เว้นแต่ผู้ใช้จะระบุเป็นอย่างอื่น
โหมดห้ามรบกวนมี 3 ระดับดังนี้
- ปิดเสียงทั้งหมด: ปิดเสียงและการสั่นทั้งหมด รวมถึงเสียงปลุก เพลง วิดีโอ และเกม
- เฉพาะปลุกเท่านั้น: ปิดเสียงและการสั่นทั้งหมด ยกเว้นเสียงปลุก
- เฉพาะที่มีลำดับความสำคัญสูงเท่านั้น: ผู้ใช้กำหนดได้ว่าหมวดหมู่สำหรับทั้งระบบหมวดหมู่ใดที่รบกวนตนได้ เช่น เฉพาะการปลุก การช่วยเตือน กิจกรรม สายเรียกเข้า หรือข้อความ สำหรับข้อความและสายเรียกเข้า ผู้ใช้สามารถกรองตามผู้ส่งหรือผู้โทรได้ ดังที่แสดงในรูปที่ 13
ใน Android 8.0 (API ระดับ 26) ขึ้นไป ผู้ใช้อนุญาตให้แสดงการแจ้งเตือนสำหรับหมวดหมู่เฉพาะของแอป (หรือที่เรียกกันว่า "ช่องทาง") เป็นการเพิ่มเติมได้ด้วยการลบล้างโหมดห้ามรบกวนในช่องทางที่ต้องการทีละช่องทาง ตัวอย่างเช่น แอปสำหรับการชำระเงินอาจมีช่องทางสำหรับการแจ้งเตือนที่เกี่ยวข้องกับการถอนและการฝากเงิน ผู้ใช้สามารถอนุญาตให้แสดงการแจ้งเตือนการถอนเงิน การแจ้งเตือนการฝากเงิน หรือทั้ง 2 อย่างเมื่อใช้โหมดลำดับความสำคัญสูง
สำหรับอุปกรณ์ที่ใช้ Android 7.1 (API ระดับ 25) และต่ำกว่า ผู้ใช้อนุญาตให้แสดงการแจ้งเตือนแบบทีละแอปได้ แทนที่จะอนุญาตแบบทีละช่องทาง
คุณต้องตั้งค่าหมวดหมู่สำหรับทั้งระบบ จึงจะกำหนดค่าการแจ้งเตือนให้เหมาะสมสำหรับการตั้งค่าของผู้ใช้เหล่านี้ได้
การแจ้งเตือนสำหรับบริการที่ทำงานอยู่เบื้องหน้า
คุณต้องส่งการแจ้งเตือนเมื่อแอปกำลังใช้บริการที่ทำงานอยู่เบื้องหน้า ซึ่งเป็น Service
ที่ทำงานในเบื้องหลังอย่างยาวนานและผู้ใช้สังเกตเห็นได้ เช่น มีเดียเพลเยอร์ การแจ้งเตือนนี้จะปิดไปไม่ได้ซึ่งต่างจากการแจ้งเตือนประเภทอื่น หากต้องการนำการแจ้งเตือนออก คุณต้องหยุดบริการหรือนำบริการออกจากสถานะเบื้องหน้า
อ่านข้อมูลเพิ่มเติมได้ในบริการที่ทำงานอยู่เบื้องหน้า หากกำลังสร้างมีเดียเพลเยอร์ โปรดอ่านการเล่นสื่อในเบื้องหลังด้วย
ขีดจํากัดของโพสต์
เริ่มตั้งแต่ Android 8.1 (API ระดับ 27) เป็นต้นไป แอปจะส่งเสียงเตือนได้เพียง 1 ครั้งในแต่ละวินาที หากแอปแสดงการแจ้งเตือนหลายรายการใน 1 วินาที การแจ้งเตือนทั้งหมดจะปรากฏขึ้นตามที่ควรจะเป็น แต่จะมีเฉพาะการแจ้งเตือนแรกในแต่ละวินาทีเท่านั้นที่ส่งเสียงเตือน
อย่างไรก็ตาม 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
เพื่อเปิดหน้าการตั้งค่าได้ ซึ่งผู้ใช้จะให้สิทธิ์ได้เปลี่ยนวิธีที่ผู้ใช้เห็นการแจ้งเตือนที่ปิดไม่ได้โดยอนุญาตให้ผู้ใช้ปิดการดำเนินการของการแจ้งเตือนได้แม้ว่าจะมีการตั้งค่า Flag
Notification.FLAG_ONGOING_EVENT
ไว้ก็ตาม การดำเนินการนี้จะไม่มีผลกับการแจ้งเตือนCallStyle
หากตั้งค่า FlagNotification.FLAG_ONGOING_EVENT
หรือตัวควบคุมนโยบายอุปกรณ์ (DPC) และแพ็กเกจที่รองรับสำหรับองค์กร นอกจากนี้ การตั้งค่านี้จะไม่มีผลเมื่อโทรศัพท์ล็อกอยู่ หรือหากผู้ใช้เลือกล้างทั้งหมด