ตั้งแต่ Chrome 59 เป็นต้นไป การแจ้งเตือนที่ส่งผ่าน Notifications API หรือ chrome.notifications extensions API จะแสดงโดยระบบการแจ้งเตือนของ macOS โดยตรงแทนระบบของ Chrome
การเปลี่ยนแปลงนี้ทำให้ Chrome ใน macOS ผสานรวมกับแพลตฟอร์มได้ดียิ่งขึ้นและแก้ไขข้อบกพร่องที่พบมาอย่างยาวนาน เช่น Chrome ไม่สนใจการตั้งค่า "ห้ามรบกวน" ของระบบ
ด้านล่างนี้เราจะดูความแตกต่างที่การเปลี่ยนแปลงนี้นำมาสู่ API ที่มีอยู่
ศูนย์การแจ้งเตือน
ประโยชน์อย่างหนึ่งของการเปลี่ยนแปลงนี้คือ การแจ้งเตือนจะแสดงในศูนย์การแจ้งเตือนของ macOS
![การแจ้งเตือนของ Google Chrome จะแสดงในศูนย์การแจ้งเตือนของ macOS](https://developer.chrome.google.cn/static/blog/native-mac-os-notifications/image/google-chrome-notificatio-0dd272728498d.png?authuser=5&hl=th)
ความแตกต่าง
ขนาดและตำแหน่งไอคอน
ลักษณะที่ปรากฏของไอคอนจะเปลี่ยนไป ไอคอนจะมีขนาดเล็กลงและมีการใช้การเว้นวรรค คุณอาจต้องพิจารณาเปลี่ยนไอคอนเป็นพื้นหลังโปร่งใสแทนสีทึบเพื่อให้ดูสวยงาม
![ไอคอนการแจ้งเตือนของ Chrome ใน Mac ที่แสดงโดย Chrome เทียบกับที่แสดงโดย macOS ก่อนและหลัง](https://developer.chrome.google.cn/static/blog/native-mac-os-notifications/image/before-after-chrome-ma-8f7a9faf4b135.png?authuser=5&hl=th)
ไอคอนการดำเนินการ
ก่อนการเปลี่ยนแปลงนี้ ปุ่มและไอคอนการดำเนินการจะแสดงในการแจ้งเตือน เมื่อใช้การแจ้งเตือนแบบเนทีฟ ระบบจะไม่ใช้ไอคอนปุ่มการดำเนินการ และผู้ใช้จะต้องวางเมาส์เหนือการแจ้งเตือนแล้วเลือกปุ่ม "เพิ่มเติม" เพื่อดูการดำเนินการที่ใช้ได้
![ปุ่มการดำเนินการของการแจ้งเตือนที่มีไอคอนก่อนและหลังแสดงโดย Chrome เทียบกับที่แสดงโดย macOS](https://developer.chrome.google.cn/static/blog/native-mac-os-notifications/image/before-after-notificati-acefa2d32d351.png?authuser=5&hl=th)
โลโก้ Chrome
โลโก้ Chrome จะแสดงอยู่เสมอและไม่สามารถแทนที่หรือดัดแปลงได้ ข้อกำหนดนี้สำหรับแอปพลิเคชันของบุคคลที่สามใน macOS
รูปภาพ
macOS ไม่รองรับตัวเลือก image
อีกต่อไป หากคุณกําหนดพร็อพเพอร์ตี้รูปภาพ การแจ้งเตือนจะยังคงแสดงอยู่ แต่จะละเว้นพารามิเตอร์รูปภาพ (ดูตัวอย่างด้านล่าง)
![รูปภาพการแจ้งเตือนของ Chrome ใน macOS ก่อนและหลัง](https://developer.chrome.google.cn/static/blog/native-mac-os-notifications/image/before-after-notificati-35cb1f20a7481.png?authuser=5&hl=th)
คุณสามารถระบุการรองรับการตรวจจับรูปภาพได้ด้วยโค้ดต่อไปนี้
if ('image' in Notification.prototype) {
// Image is supported.
} else {
// Image is NOT supported.
}
การเปลี่ยนแปลงส่วนขยาย Chrome
ส่วนขยาย Chrome มีแนวคิดเกี่ยวกับเทมเพลตการแจ้งเตือนซึ่งจะทำงานแตกต่างจากเดิมเมื่อมีการเปลี่ยนแปลงนี้
เทมเพลตการแจ้งเตือนรูปภาพจะไม่แสดงรูปภาพอีกต่อไป คุณควรตรวจสอบว่ารูปภาพเป็นส่วนเสริมและไม่จำเป็นต้องมีประโยชน์ต่อผู้ใช้
![รูปภาพก่อนและหลังสำหรับเทมเพลตรูปภาพใน chrome.notification API](https://developer.chrome.google.cn/static/blog/native-mac-os-notifications/image/before-after-image-temp-ea8d68fe9acc.png?authuser=5&hl=th)
เทมเพลตการแจ้งเตือนรายการจะแสดงเฉพาะรายการแรกในรายการ คุณอาจต้องพิจารณากลับไปใช้รูปแบบการแจ้งเตือนพื้นฐานและใช้ข้อความเนื้อหาเพื่อสรุปชุดการเปลี่ยนแปลง
![ตัวอย่างก่อนและหลังสำหรับเทมเพลตรายการใน chrome.notification API](https://developer.chrome.google.cn/static/blog/native-mac-os-notifications/image/before-after-list-templ-58a8124f4c8f9.png?authuser=5&hl=th)
การแจ้งเตือนความคืบหน้าจะเพิ่มค่าเปอร์เซ็นต์ต่อท้ายชื่อการแจ้งเตือนเพื่อระบุความคืบหน้าแทนแถบความคืบหน้า
![ตัวอย่างเทมเพลตความคืบหน้าก่อนและหลังใน chrome.notification API](https://developer.chrome.google.cn/static/blog/native-mac-os-notifications/image/before-after-progress-t-aeb9eb61ae795.png?authuser=5&hl=th)
ความแตกต่างสุดท้ายใน UI การแจ้งเตือนคือ appIconMarkUrl
จะไม่ใช้ใน macOS อีกต่อไป
![ก่อนและหลังสําหรับ appIconMarkUrl ใน chrome.notification API](https://developer.chrome.google.cn/static/blog/native-mac-os-notifications/image/before-after-appiconmar-74e3f48314cd4.png?authuser=5&hl=th)