คำอธิบาย
ใช้ chrome.notifications
API เพื่อสร้างการแจ้งเตือนที่สมบูรณ์โดยใช้เทมเพลตและแสดงการแจ้งเตือนเหล่านี้ต่อผู้ใช้ในถาดระบบ
สิทธิ์
notifications
ประเภท
NotificationBitmap
NotificationButton
พร็อพเพอร์ตี้
-
iconUrl
string ไม่บังคับ
เลิกใช้งานตั้งแต่ Chrome 59ผู้ใช้ Mac OS X จะไม่เห็นไอคอนปุ่ม
-
title
string
NotificationItem
พร็อพเพอร์ตี้
-
ข้อความ
string
รายละเอียดเพิ่มเติมเกี่ยวกับรายการนี้
-
title
string
ชื่อของการแจ้งเตือนแบบรายการ 1 รายการ
NotificationOptions
พร็อพเพอร์ตี้
-
appIconMaskUrl
string ไม่บังคับ
เลิกใช้งานตั้งแต่ Chrome 59ผู้ใช้ Mac OS X จะมองไม่เห็นมาสก์ไอคอนแอป
URL ไปยังมาสก์ไอคอนแอป URL มีข้อจำกัดเช่นเดียวกับ iconUrl
มาสก์ไอคอนแอปควรอยู่ในช่องอัลฟ่า เนื่องจากระบบจะพิจารณาเฉพาะช่องอัลฟ่าของรูปภาพเท่านั้น
-
ปุ่ม
NotificationButton[] ไม่บังคับ
ข้อความและไอคอนสำหรับปุ่มการทำงานการแจ้งเตือนสูงสุด 2 ปุ่ม
-
contextMessage
string ไม่บังคับ
เนื้อหาการแจ้งเตือนอื่นที่มีแบบอักษรน้ำหนักต่ำกว่า
-
eventTime
ตัวเลข ไม่บังคับ
การประทับเวลาที่เกี่ยวข้องกับการแจ้งเตือนเป็นมิลลิวินาทีหลังจากผ่าน Epoch (เช่น
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
-
items
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"
ระบุว่าผู้ใช้เลือกที่จะแสดงการแจ้งเตือนจากแอปหรือส่วนขยาย ซึ่งจะเป็นค่าเริ่มต้น ณ เวลาที่ติดตั้ง
"ปฏิเสธ"
ระบุว่าผู้ใช้เลือกที่จะไม่แสดงการแจ้งเตือนจากแอปหรือส่วนขยาย
TemplateType
ค่าแจกแจง
"basic"
มีไอคอน ชื่อ ข้อความ ข้อความที่ขยาย และปุ่มไม่เกิน 2 ปุ่ม
"image"
มีไอคอน ชื่อ ข้อความ ข้อความที่ขยาย รูปภาพ และปุ่มไม่เกิน 2 ปุ่ม
"list"
มีไอคอน ชื่อ ข้อความ รายการ และปุ่มไม่เกิน 2 ปุ่ม ผู้ใช้ Mac OS X จะเห็นเฉพาะรายการแรก
"progress"
มีไอคอน ชื่อ ข้อความ ความคืบหน้า และปุ่มไม่เกิน 2 ปุ่ม
วิธีการ
clear()
chrome.notifications.clear(
notificationId: string,
callback?: function,
)
ล้างการแจ้งเตือนที่ระบุ
พารามิเตอร์
-
notificationId
string
รหัสของการแจ้งเตือนที่จะล้าง ซึ่งจะแสดงผลโดยเมธอด
notifications.create
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(wasCleared: boolean) => void
-
wasCleared
boolean
-
การคืนสินค้า
-
Promise<boolean>
Chrome 116 ขึ้นไปManifest V3 ขึ้นไปรองรับคำสัญญา แต่จะใช้โค้ดเรียกกลับเพื่อความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 ฟีเจอร์ในการเรียกใช้ฟังก์ชันเดียวกันได้ คำสัญญาจะยุติด้วยประเภทเดียวกันกับที่ส่งไปยังโค้ดเรียกกลับ
create()
chrome.notifications.create(
notificationId?: string,
options: NotificationOptions,
callback?: function,
)
สร้างและแสดงการแจ้งเตือน
พารามิเตอร์
-
notificationId
string ไม่บังคับ
ตัวระบุของการแจ้งเตือน หากไม่ได้ตั้งค่าหรือเว้นว่างไว้ ระบบจะสร้างรหัสโดยอัตโนมัติ หากตรงกับการแจ้งเตือนที่มีอยู่ วิธีนี้จะล้างการแจ้งเตือนดังกล่าวก่อนที่จะดำเนินการสร้างต่อไป ตัวระบุต้องมีความยาวไม่เกิน 500 อักขระ
ต้องมีพารามิเตอร์
notificationId
ก่อน Chrome 42 -
ตัวเลือก
เนื้อหาของการแจ้งเตือน
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(notificationId: string) => void
-
notificationId
string
-
การคืนสินค้า
-
คำสัญญา<string>
Chrome 116 ขึ้นไปManifest V3 ขึ้นไปรองรับคำสัญญา แต่จะใช้โค้ดเรียกกลับเพื่อความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 ฟีเจอร์ในการเรียกใช้ฟังก์ชันเดียวกันได้ คำสัญญาจะยุติด้วยประเภทเดียวกันกับที่ส่งไปยังโค้ดเรียกกลับ
getAll()
chrome.notifications.getAll(
callback?: function,
)
ดึงการแจ้งเตือนทั้งหมดของแอปหรือส่วนขยายนี้
พารามิเตอร์
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(notifications: object) => void
-
การแจ้งเตือน
ออบเจ็กต์
-
การคืนสินค้า
-
Promise<object>
Chrome 116 ขึ้นไปManifest V3 ขึ้นไปรองรับคำสัญญา แต่จะใช้โค้ดเรียกกลับเพื่อความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 ฟีเจอร์ในการเรียกใช้ฟังก์ชันเดียวกันได้ คำสัญญาจะยุติด้วยประเภทเดียวกันกับที่ส่งไปยังโค้ดเรียกกลับ
getPermissionLevel()
chrome.notifications.getPermissionLevel(
callback?: function,
)
เรียกข้อมูลว่าผู้ใช้ได้เปิดใช้การแจ้งเตือนจากแอปหรือส่วนขยายนี้หรือไม่
พารามิเตอร์
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(level: PermissionLevel) => void
-
ระดับ
-
การคืนสินค้า
-
Promise<PermissionLevel>
Chrome 116 ขึ้นไปManifest V3 ขึ้นไปรองรับคำสัญญา แต่จะใช้โค้ดเรียกกลับเพื่อความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 ฟีเจอร์ในการเรียกใช้ฟังก์ชันเดียวกันได้ คำสัญญาจะยุติด้วยประเภทเดียวกันกับที่ส่งไปยังโค้ดเรียกกลับ
update()
chrome.notifications.update(
notificationId: string,
options: NotificationOptions,
callback?: function,
)
อัปเดตการแจ้งเตือนที่มีอยู่
พารามิเตอร์
-
notificationId
string
รหัสของการแจ้งเตือนที่จะอัปเดต ซึ่งจะแสดงผลโดยเมธอด
notifications.create
-
ตัวเลือก
เนื้อหาของการแจ้งเตือนที่ต้องอัปเดต
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(wasUpdated: boolean) => void
-
wasUpdated
boolean
-
การคืนสินค้า
-
Promise<boolean>
Chrome 116 ขึ้นไปManifest V3 ขึ้นไปรองรับคำสัญญา แต่จะใช้โค้ดเรียกกลับเพื่อความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 ฟีเจอร์ในการเรียกใช้ฟังก์ชันเดียวกันได้ คำสัญญาจะยุติด้วยประเภทเดียวกันกับที่ส่งไปยังโค้ดเรียกกลับ
เหตุการณ์
onButtonClicked
chrome.notifications.onButtonClicked.addListener(
callback: function,
)
ผู้ใช้กดปุ่มในการแจ้งเตือน
พารามิเตอร์
-
Callback
ฟังก์ชัน
พารามิเตอร์
callback
มีลักษณะดังนี้(notificationId: string, buttonIndex: number) => void
-
notificationId
string
-
buttonIndex
ตัวเลข
-
onClicked
chrome.notifications.onClicked.addListener(
callback: function,
)
ผู้ใช้คลิกในบริเวณที่ไม่ใช่ปุ่มของการแจ้งเตือน
พารามิเตอร์
-
Callback
ฟังก์ชัน
พารามิเตอร์
callback
มีลักษณะดังนี้(notificationId: string) => void
-
notificationId
string
-
onClosed
chrome.notifications.onClosed.addListener(
callback: function,
)
การแจ้งเตือนถูกปิด ไม่ว่าจะโดยระบบหรือตามการดำเนินการของผู้ใช้
พารามิเตอร์
-
Callback
ฟังก์ชัน
พารามิเตอร์
callback
มีลักษณะดังนี้(notificationId: string, byUser: boolean) => void
-
notificationId
string
-
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