คำอธิบาย
ใช้ chrome.notifications
API เพื่อสร้างการแจ้งเตือนที่สมบูรณ์โดยใช้เทมเพลตและแสดงการแจ้งเตือนเหล่านี้แก่ผู้ใช้ในถาดระบบ
สิทธิ์
notifications
ประเภท
NotificationBitmap
NotificationButton
พร็อพเพอร์ตี้
-
iconUrl
string ไม่บังคับ
เลิกใช้งานตั้งแต่ Chrome 59ผู้ใช้ Mac OS X จะไม่เห็นไอคอนปุ่ม
-
title
สตริง
NotificationItem
พร็อพเพอร์ตี้
-
ข้อความ
สตริง
รายละเอียดเพิ่มเติมเกี่ยวกับรายการนี้
-
title
สตริง
ชื่อการแจ้งเตือนรายการ 1 รายการ
NotificationOptions
พร็อพเพอร์ตี้
-
appIconMaskUrl
string ไม่บังคับ
เลิกใช้งานตั้งแต่ Chrome 59ผู้ใช้ Mac OS X จะมองไม่เห็นมาสก์ไอคอนแอป
URL ไปยังมาสก์ไอคอนแอป URL มีข้อจำกัดเหมือนกับ iconUrl
มาสก์ไอคอนแอปควรอยู่ในช่องอัลฟ่า เพราะระบบจะพิจารณาเฉพาะช่องอัลฟ่าของรูปภาพเท่านั้น
-
ปุ่ม
NotificationButton[] ไม่บังคับ
ข้อความและไอคอนของปุ่มการทำงานการแจ้งเตือนสูงสุด 2 ปุ่ม
-
contextMessage
string ไม่บังคับ
เนื้อหาการแจ้งเตือนอื่นที่มีแบบอักษรขนาดเล็ก
-
eventTime
หมายเลข ไม่บังคับ
การประทับเวลาที่เกี่ยวข้องกับการแจ้งเตือนในหน่วยมิลลิวินาทีหลังเหตุการณ์ (เช่น
Date.now() + n
) -
iconUrl
string ไม่บังคับ
URL ไปยังรูปโปรไฟล์ ไอคอนแอป หรือภาพขนาดย่อของผู้ส่งสำหรับการแจ้งเตือนรูปภาพ
URL อาจเป็น URL ข้อมูล, URL ของ BLOB หรือ URL ที่สัมพันธ์กับทรัพยากรภายในไฟล์ .crx ของส่วนขยายนี้ก็ได้
**หมายเหตุ**ค่านี้จำเป็นสำหรับเมธอด
notifications.create
()
-
imageUrl
string ไม่บังคับ
เลิกใช้งานตั้งแต่ Chrome 59ผู้ใช้ Mac OS X จะมองไม่เห็นรูปภาพนี้
URL ไปยังภาพขนาดย่อสำหรับการแจ้งเตือนประเภทรูปภาพ URL มีข้อจำกัดเหมือนกับ iconUrl
-
isClickable
บูลีน ไม่บังคับ
เลิกใช้งานตั้งแต่ Chrome 67ระบบจะไม่พิจารณาคำแนะนำ UI นี้ตั้งแต่ Chrome 67 เป็นต้นไป
-
รายการ
NotificationItem[] ไม่บังคับ
รายการสำหรับการแจ้งเตือนหลายรายการ ผู้ใช้ Mac OS X จะเห็นเฉพาะรายการแรก
-
ข้อความ
string ไม่บังคับ
เนื้อหาการแจ้งเตือนหลัก
**หมายเหตุ**ค่านี้จำเป็นสำหรับเมธอด
notifications.create
()
-
ลำดับความสำคัญ
หมายเลข ไม่บังคับ
ลำดับความสำคัญจะอยู่ในช่วง -2 ถึง 2 -2 คือลำดับความสำคัญต่ำสุด 2 คือสูงสุด 0 คือค่าเริ่มต้น ในแพลตฟอร์มที่ไม่รองรับศูนย์การแจ้งเตือน (Windows, Linux และ Mac) ค่า -2 และ -1 จะทำให้เกิดข้อผิดพลาดเนื่องจากการแจ้งเตือนที่มีลำดับความสำคัญเหล่านั้นจะไม่แสดงเลย
-
ความคืบหน้า
หมายเลข ไม่บังคับ
ความคืบหน้าปัจจุบันมีตั้งแต่ 0 ถึง 100
-
requireInteraction
บูลีน ไม่บังคับ
Chrome 50 ขึ้นไประบุว่าการแจ้งเตือนควรจะยังปรากฏบนหน้าจอจนกว่าผู้ใช้จะเปิดใช้งานหรือปิดการแจ้งเตือน โดยมีค่าเริ่มต้นเป็น "เท็จ"
-
ปิดเสียง
บูลีน ไม่บังคับ
Chrome 70 ขึ้นไปบ่งบอกว่าไม่ควรมีเสียงหรือการสั่นเมื่อแสดงการแจ้งเตือน โดยมีค่าเริ่มต้นเป็น "เท็จ"
-
title
string ไม่บังคับ
ชื่อการแจ้งเตือน (เช่น ชื่อผู้ส่งสำหรับอีเมล)
**หมายเหตุ**ค่านี้จำเป็นสำหรับเมธอด
notifications.create
()
-
ประเภท
TemplateType ไม่บังคับ
ประเภทการแจ้งเตือนที่จะแสดง ต้องระบุสำหรับเมธอด
notifications.create
PermissionLevel
ค่าแจกแจง
"granted"
ระบุว่าผู้ใช้เลือกที่จะแสดงการแจ้งเตือนจากแอปหรือส่วนขยายนั้น ซึ่งจะเป็นค่าเริ่มต้นเมื่อติดตั้ง
"denied"
ระบุว่าผู้ใช้เลือกที่จะไม่แสดงการแจ้งเตือนจากแอปหรือส่วนขยายนั้น
TemplateType
ค่าแจกแจง
"basic"
มีไอคอน, ชื่อ, ข้อความ,expandMessage และปุ่มสูงสุด 2 ปุ่ม
"image"
มีไอคอน ชื่อ ข้อความ ข้อความแบบขยาย รูปภาพ และปุ่มสูงสุด 2 ปุ่ม
"list"
ประกอบด้วยไอคอน ชื่อ ข้อความ รายการ และปุ่มสูงสุด 2 ปุ่ม ผู้ใช้ใน Mac OS X จะเห็นเพียงรายการแรกเท่านั้น
"progress"
มีไอคอน ชื่อ ข้อความ ความคืบหน้า และปุ่มสูงสุด 2 ปุ่ม
เมธอด
clear()
chrome.notifications.clear(
notificationId: string,
callback?: function,
)
ล้างการแจ้งเตือนที่ระบุ
พารามิเตอร์
-
notificationId
สตริง
รหัสของการแจ้งเตือนที่จะล้าง ซึ่งจะแสดงโดยเมธอด
notifications.create
-
Callback
ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(wasCleared: boolean) => void
-
wasCleared
boolean
-
การคืนสินค้า
-
Promise<boolean>
Chrome 116 ขึ้นไปรองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback
create()
chrome.notifications.create(
notificationId?: string,
options: NotificationOptions,
callback?: function,
)
สร้างและแสดงการแจ้งเตือน
พารามิเตอร์
-
notificationId
string ไม่บังคับ
ตัวระบุของการแจ้งเตือน หากไม่ได้ตั้งค่าหรือเว้นว่างไว้ ระบบจะสร้างรหัสให้โดยอัตโนมัติ หากการแจ้งเตือนดังกล่าวตรงกับการแจ้งเตือนที่มีอยู่ ขั้นแรกให้ล้างการแจ้งเตือนนั้นก่อนที่จะดำเนินการสร้างต่อไป ตัวระบุต้องยาวไม่เกิน 500 อักขระ
ต้องระบุพารามิเตอร์
notificationId
ก่อน Chrome 42 -
ตัวเลือก
เนื้อหาของการแจ้งเตือน
-
Callback
ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(notificationId: string) => void
-
notificationId
สตริง
-
การคืนสินค้า
-
คำมั่นสัญญา<สตริง>
Chrome 116 ขึ้นไปรองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback
getAll()
chrome.notifications.getAll(
callback?: function,
)
ดึงการแจ้งเตือนทั้งหมดของแอปหรือส่วนขยายนี้
พารามิเตอร์
-
Callback
ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(notifications: object) => void
-
การแจ้งเตือน
ออบเจ็กต์
-
การคืนสินค้า
-
Promise<object>
Chrome 116 ขึ้นไปรองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback
getPermissionLevel()
chrome.notifications.getPermissionLevel(
callback?: function,
)
เรียกข้อมูลว่าผู้ใช้เปิดใช้การแจ้งเตือนจากแอปหรือส่วนขยายนี้หรือไม่
พารามิเตอร์
-
Callback
ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(level: PermissionLevel) => void
-
ระดับ
-
การคืนสินค้า
-
Promise<PermissionLevel>
Chrome 116 ขึ้นไปรองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback
update()
chrome.notifications.update(
notificationId: string,
options: NotificationOptions,
callback?: function,
)
อัปเดตการแจ้งเตือนที่มีอยู่
พารามิเตอร์
-
notificationId
สตริง
รหัสของการแจ้งเตือนที่จะอัปเดต ซึ่งจะแสดงโดยเมธอด
notifications.create
-
ตัวเลือก
เนื้อหาของการแจ้งเตือนที่จะอัปเดต
-
Callback
ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(wasUpdated: boolean) => void
-
wasUpdated
boolean
-
การคืนสินค้า
-
Promise<boolean>
Chrome 116 ขึ้นไปรองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback
กิจกรรม
onButtonClicked
chrome.notifications.onButtonClicked.addListener(
callback: function,
)
ผู้ใช้กดปุ่มในการแจ้งเตือน
พารามิเตอร์
-
Callback
ฟังก์ชัน
พารามิเตอร์
callback
มีลักษณะดังนี้(notificationId: string, buttonIndex: number) => void
-
notificationId
สตริง
-
buttonIndex
ตัวเลข
-
onClicked
chrome.notifications.onClicked.addListener(
callback: function,
)
ผู้ใช้คลิกในพื้นที่ที่ไม่ใช่ปุ่มของการแจ้งเตือน
พารามิเตอร์
-
Callback
ฟังก์ชัน
พารามิเตอร์
callback
มีลักษณะดังนี้(notificationId: string) => void
-
notificationId
สตริง
-
onClosed
chrome.notifications.onClosed.addListener(
callback: function,
)
การแจ้งเตือนจะปิดไปโดยระบบหรือการดำเนินการของผู้ใช้
พารามิเตอร์
-
Callback
ฟังก์ชัน
พารามิเตอร์
callback
มีลักษณะดังนี้(notificationId: string, byUser: boolean) => void
-
notificationId
สตริง
-
byUser
boolean
-
onPermissionLevelChanged
chrome.notifications.onPermissionLevelChanged.addListener(
callback: function,
)
ผู้ใช้เปลี่ยนระดับสิทธิ์ ตั้งแต่ Chrome 47 เป็นต้นไป มีเพียง ChromeOS เท่านั้นที่มี UI ที่ส่งเหตุการณ์นี้
พารามิเตอร์
-
Callback
ฟังก์ชัน
พารามิเตอร์
callback
มีลักษณะดังนี้(level: PermissionLevel) => void
-
ระดับ
-
onShowSettings
chrome.notifications.onShowSettings.addListener(
callback: function,
)
ระบบไม่รองรับปุ่มการตั้งค่าการแจ้งเตือนที่กำหนดเองอีกต่อไป
ผู้ใช้คลิกลิงก์การตั้งค่าการแจ้งเตือนของแอป ตั้งแต่ Chrome 47 เป็นต้นไป มีเพียง ChromeOS เท่านั้นที่มี UI ที่ส่งเหตุการณ์นี้ ตั้งแต่ Chrome 65 เป็นต้นมา เราได้นำ UI ดังกล่าวออกจาก ChromeOS ด้วยเช่นกัน
พารามิเตอร์
-
Callback
ฟังก์ชัน
พารามิเตอร์
callback
มีลักษณะดังนี้() => void