chrome.notifications

คำอธิบาย

ใช้ 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

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

  • 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 65
chrome.notifications.onShowSettings.addListener(
  callback: function,
)

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

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

พารามิเตอร์

  • Callback

    ฟังก์ชัน

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

    ()=>void