คำอธิบาย
ใช้ chrome.notifications
API เพื่อสร้างการแจ้งเตือนที่สมบูรณ์โดยใช้เทมเพลต และแสดงการแจ้งเตือนเหล่านี้ต่อผู้ใช้ในถาดระบบ
สิทธิ์
notifications
ประเภท
NotificationBitmap
NotificationButton
พร็อพเพอร์ตี้
- iconUrl
สตริง ไม่บังคับ
เลิกใช้งานตั้งแต่ Chrome 59ผู้ใช้ Mac OS X จะมองไม่เห็นไอคอนปุ่ม
- title
สตริง
NotificationItem
พร็อพเพอร์ตี้
- ข้อความ
สตริง
รายละเอียดเพิ่มเติมเกี่ยวกับรายการนี้
- title
สตริง
ชื่อของรายการหนึ่งในการแจ้งเตือนรายการ
NotificationOptions
พร็อพเพอร์ตี้
- appIconMaskUrl
สตริง ไม่บังคับ
เลิกใช้งานตั้งแต่ Chrome 59ผู้ใช้ Mac OS X จะมองไม่เห็นมาสก์ไอคอนแอป
URL ไปยังมาสก์ไอคอนแอป URL มีข้อจำกัดเหมือนกับ iconUrl
มาสก์ไอคอนแอปควรอยู่ในช่องอัลฟ่า เนื่องจากระบบจะพิจารณาเฉพาะช่องอัลฟ่าของรูปภาพ
- ปุ่ม
NotificationButton[] ไม่บังคับ
ข้อความและไอคอนสำหรับปุ่มการทำงานของการแจ้งเตือนสูงสุด 2 ปุ่ม
- contextMessage
สตริง ไม่บังคับ
เนื้อหาการแจ้งเตือนสำรองที่มีแบบอักษรน้ำหนักต่ำ
- eventTime
หมายเลข ไม่บังคับ
การประทับเวลาที่เชื่อมโยงกับการแจ้งเตือนเป็นมิลลิวินาทีที่ผ่านมาตั้งแต่ Epoch (เช่น
Date.now() + n
) - iconUrl
สตริง ไม่บังคับ
URL ไปยังอวาตาร์ของผู้ส่ง ไอคอนแอป หรือภาพขนาดย่อสำหรับการแจ้งเตือนรูปภาพ
URL อาจเป็น URL ข้อมูล, URL ของ Blob หรือ URL ที่สัมพันธ์กับทรัพยากรภายในไฟล์ .crx ของส่วนขยายนี้
**หมายเหตุ:**ต้องระบุค่านี้สำหรับเมธอด
notifications.create
()
- imageUrl
สตริง ไม่บังคับ
เลิกใช้งานตั้งแต่ Chrome 59ผู้ใช้ Mac OS X จะมองไม่เห็นรูปภาพ
URL ไปยังภาพขนาดย่อของรูปภาพสำหรับการแจ้งเตือนประเภทรูปภาพ URL มีข้อจำกัดเหมือนกับ iconUrl
- isClickable
บูลีน ไม่บังคับ
เลิกใช้งานตั้งแต่ Chrome 67คำแนะนำ UI นี้จะไม่มีผลตั้งแต่ Chrome 67 เป็นต้นไป
- รายการ
NotificationItem[] ไม่บังคับ
รายการสำหรับการแจ้งเตือนแบบหลายรายการ ผู้ใช้ใน Mac OS X จะเห็นเฉพาะรายการแรก
- ข้อความ
สตริง ไม่บังคับ
เนื้อหาหลักของการแจ้งเตือน
**หมายเหตุ:**ต้องระบุค่านี้สำหรับเมธอด
notifications.create
()
- ลำดับความสำคัญ
หมายเลข ไม่บังคับ
ลำดับความสำคัญมีตั้งแต่ -2 ถึง 2 -2 คือลำดับความสำคัญต่ำสุด 2 คือสูงสุด ค่าเริ่มต้นคือ 0 ในแพลตฟอร์มที่ไม่รองรับศูนย์การแจ้งเตือน (Windows, Linux และ Mac) ค่า -2 และ -1 จะทำให้เกิดข้อผิดพลาดเนื่องจากระบบจะไม่แสดงการแจ้งเตือนที่มีลำดับความสำคัญดังกล่าวเลย
- ความคืบหน้า
หมายเลข ไม่บังคับ
ความคืบหน้าปัจจุบันมีตั้งแต่ 0 ถึง 100
- requireInteraction
บูลีน ไม่บังคับ
Chrome 50 ขึ้นไประบุว่าการแจ้งเตือนควรยังคงปรากฏบนหน้าจอจนกว่าผู้ใช้จะเปิดใช้งานหรือปิดการแจ้งเตือน โดยค่าเริ่มต้น ค่านี้จะเป็นเท็จ
- ปิดเสียง
บูลีน ไม่บังคับ
Chrome 70 ขึ้นไประบุว่าไม่ควรส่งเสียงหรือสั่นเมื่อแสดงการแจ้งเตือน โดยค่าเริ่มต้น ค่านี้จะเป็นเท็จ
- title
สตริง ไม่บังคับ
ชื่อของการแจ้งเตือน (เช่น ชื่อผู้ส่งสำหรับอีเมล)
**หมายเหตุ:**ต้องระบุค่านี้สำหรับเมธอด
notifications.create
()
- ประเภท
TemplateType ไม่บังคับ
ประเภทการแจ้งเตือนที่จะแสดง ต้องระบุสำหรับวิธีการ
notifications.create
PermissionLevel
ค่าแจกแจง
"ได้รับอนุญาต"
ระบุว่าผู้ใช้เลือกที่จะแสดงการแจ้งเตือนจากแอปหรือส่วนขยาย ซึ่งเป็นค่าเริ่มต้นเมื่อติดตั้ง
"ปฏิเสธ"
ระบุว่าผู้ใช้เลือกที่จะไม่แสดงการแจ้งเตือนจากแอปหรือส่วนขยาย
TemplateType
ค่าแจกแจง
"basic"
มีไอคอน ชื่อ ข้อความ expandedMessage และปุ่มได้สูงสุด 2 ปุ่ม
"image"
มีไอคอน ชื่อ ข้อความ expandedMessage รูปภาพ และปุ่มได้สูงสุด 2 ปุ่ม
"list"
มีไอคอน ชื่อ ข้อความ รายการ และปุ่มได้สูงสุด 2 ปุ่ม ผู้ใช้ใน Mac OS X จะเห็นเฉพาะรายการแรก
"progress"
ประกอบด้วยไอคอน ชื่อ ข้อความ ความคืบหน้า และปุ่มสูงสุด 2 ปุ่ม
เมธอด
clear()
chrome.notifications.clear(
notificationId: string,
): Promise<boolean>
ล้างการแจ้งเตือนที่ระบุ
พารามิเตอร์
- notificationId
สตริง
รหัสของการแจ้งเตือนที่จะล้าง ซึ่งเมธอด
notifications.create
จะแสดงผล
การคืนสินค้า
-
Promise<boolean>
Chrome 116 ขึ้นไป
create()
chrome.notifications.create(
notificationId?: string,
options: NotificationOptions,
): Promise<string>
สร้างและแสดงการแจ้งเตือน
พารามิเตอร์
- notificationId
สตริง ไม่บังคับ
ตัวระบุของการแจ้งเตือน หากไม่ได้ตั้งค่าหรือว่างเปล่า ระบบจะสร้างรหัสโดยอัตโนมัติ หากตรงกับการแจ้งเตือนที่มีอยู่ วิธีนี้จะล้างการแจ้งเตือนนั้นก่อนดำเนินการต่อด้วยการดำเนินการสร้าง ตัวระบุต้องมีความยาวไม่เกิน 500 อักขระ
ต้องระบุพารามิเตอร์
notificationId
ก่อน Chrome 42 - ตัวเลือก
เนื้อหาของการแจ้งเตือน
การคืนสินค้า
-
Promise<string>
Chrome 116 ขึ้นไป
getAll()
chrome.notifications.getAll(): Promise<object>
ดึงข้อมูลการแจ้งเตือนทั้งหมดของแอปหรือส่วนขยายนี้
การคืนสินค้า
-
Promise<object>
Chrome 116 ขึ้นไป
getPermissionLevel()
chrome.notifications.getPermissionLevel(): Promise<PermissionLevel>
เรียกข้อมูลว่าผู้ใช้ได้เปิดใช้การแจ้งเตือนจากแอปหรือส่วนขยายนี้หรือไม่
การคืนสินค้า
-
Promise<PermissionLevel>
Chrome 116 ขึ้นไป
update()
chrome.notifications.update(
notificationId: string,
options: NotificationOptions,
): Promise<boolean>
อัปเดตการแจ้งเตือนที่มีอยู่
พารามิเตอร์
- notificationId
สตริง
รหัสของการแจ้งเตือนที่จะอัปเดต ซึ่งเมธอด
notifications.create
จะแสดงผล - ตัวเลือก
เนื้อหาของการแจ้งเตือนที่จะอัปเดต
การคืนสินค้า
-
Promise<boolean>
Chrome 116 ขึ้นไป
กิจกรรม
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
บูลีน
-
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