chrome.notifications

คำอธิบาย

ใช้ 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 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ 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 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

getAll()

สัญญา
chrome.notifications.getAll(
  callback?: function,
)

ดึงการแจ้งเตือนทั้งหมดของแอปหรือส่วนขยายนี้

พารามิเตอร์

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (notifications: object) => void

    • การแจ้งเตือน

      ออบเจ็กต์

การคืนสินค้า

  • Promise&lt;object&gt;

    Chrome 116 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

getPermissionLevel()

สัญญา
chrome.notifications.getPermissionLevel(
  callback?: function,
)

เรียกข้อมูลว่าผู้ใช้เปิดใช้การแจ้งเตือนจากแอปหรือส่วนขยายนี้หรือไม่

พารามิเตอร์

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (level: PermissionLevel) => void

การคืนสินค้า

  • Promise&lt;PermissionLevel&gt;

    Chrome 116 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

update()

สัญญา
chrome.notifications.update(
  notificationId: string,
  options: NotificationOptions,
  callback?: function,
)

อัปเดตการแจ้งเตือนที่มีอยู่

พารามิเตอร์

  • notificationId

    สตริง

    รหัสของการแจ้งเตือนที่จะอัปเดต ซึ่งจะแสดงโดยเมธอด notifications.create

  • ตัวเลือก

    เนื้อหาของการแจ้งเตือนที่จะอัปเดต

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (wasUpdated: boolean) => void

    • wasUpdated

      boolean

การคืนสินค้า

  • Promise&lt;boolean&gt;

    Chrome 116 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ 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 65
chrome.notifications.onShowSettings.addListener(
  callback: function,
)

ระบบไม่รองรับปุ่มการตั้งค่าการแจ้งเตือนที่กำหนดเองอีกต่อไป

ผู้ใช้คลิกลิงก์การตั้งค่าการแจ้งเตือนของแอป ตั้งแต่ Chrome 47 เป็นต้นไป มีเพียง ChromeOS เท่านั้นที่มี UI ที่ส่งเหตุการณ์นี้ ตั้งแต่ Chrome 65 เป็นต้นมา เราได้นำ UI ดังกล่าวออกจาก ChromeOS ด้วยเช่นกัน

พารามิเตอร์

  • Callback

    ฟังก์ชัน

    พารามิเตอร์ callback มีลักษณะดังนี้

    () => void