chrome.notifications

refresh date: 2026-09-25 robots: noindex

Mô tả

Sử dụng API chrome.notifications để tạo thông báo đa dạng bằng các mẫu và hiển thị các thông báo này cho người dùng trong khay hệ thống.

Quyền

notifications

Loại

NotificationBitmap

NotificationButton

Thuộc tính

  • iconUrl

    chuỗi không bắt buộc

    Không dùng nữa kể từ Chrome 59

    Người dùng Mac OS X không nhìn thấy biểu tượng nút.

  • tiêu đề

    chuỗi

NotificationItem

Thuộc tính

  • tin nhắn

    chuỗi

    Thông tin chi tiết bổ sung về mặt hàng này.

  • tiêu đề

    chuỗi

    Tiêu đề của một mục trong thông báo dạng danh sách.

NotificationOptions

Thuộc tính

  • appIconMaskUrl

    chuỗi không bắt buộc

    Không dùng nữa kể từ Chrome 59

    Người dùng Mac OS X sẽ không nhìn thấy mặt nạ biểu tượng ứng dụng.

    URL dẫn đến mặt nạ biểu tượng ứng dụng. URL có các quy định hạn chế giống như iconUrl.

    Mặt nạ biểu tượng ứng dụng phải ở kênh alpha, vì chỉ kênh alpha của hình ảnh mới được xem xét.

  • nút

    NotificationButton[] không bắt buộc

    Văn bản và biểu tượng cho tối đa hai nút hành động thông báo.

  • contextMessage

    chuỗi không bắt buộc

    Nội dung thông báo thay thế có phông chữ nhẹ hơn.

  • eventTime

    number không bắt buộc

    Dấu thời gian liên kết với thông báo, tính bằng mili giây sau thời gian bắt đầu của hệ thống (ví dụ: Date.now() + n).

  • iconUrl

    chuỗi không bắt buộc

    URL đến hình đại diện của người gửi, biểu tượng ứng dụng hoặc hình thu nhỏ cho thông báo bằng hình ảnh.

    URL có thể là URL dữ liệu, URL blob hoặc URL tương ứng với một tài nguyên trong tệp .crx của tiện ích này

    **Lưu ý:**Bạn bắt buộc phải cung cấp giá trị này cho phương thức notifications.create().

  • imageUrl

    chuỗi không bắt buộc

    Không dùng nữa kể từ Chrome 59

    Người dùng Mac OS X không nhìn thấy hình ảnh này.

    URL đến hình thu nhỏ của hình ảnh cho thông báo dạng hình ảnh. URL có các quy định hạn chế giống như iconUrl.

  • isClickable

    boolean không bắt buộc

    Không dùng nữa kể từ Chrome 67

    Gợi ý giao diện người dùng này bị bỏ qua kể từ Chrome 67

  • mục

    NotificationItem[] không bắt buộc

    Các mục cho thông báo về nhiều mục. Người dùng trên Mac OS X chỉ thấy mục đầu tiên.

  • tin nhắn

    chuỗi không bắt buộc

    Nội dung thông báo chính.

    **Lưu ý:**Bạn bắt buộc phải cung cấp giá trị này cho phương thức notifications.create().

  • của chiến dịch

    number không bắt buộc

    Mức độ ưu tiên nằm trong khoảng từ -2 đến 2. -2 là mức độ ưu tiên thấp nhất. 2 là cao nhất. Giá trị mặc định là 0. Trên các nền tảng không hỗ trợ trung tâm thông báo (Windows, Linux và Mac), -2 và -1 sẽ dẫn đến lỗi vì thông báo có các mức độ ưu tiên đó sẽ không hiển thị.

  • tiến trình

    number không bắt buộc

    Tiến trình hiện tại nằm trong khoảng từ 0 đến 100.

  • requireInteraction

    boolean không bắt buộc

    Chrome 50 trở lên

    Cho biết rằng thông báo sẽ vẫn hiển thị trên màn hình cho đến khi người dùng kích hoạt hoặc đóng thông báo. Giá trị mặc định là false.

  • im lặng

    boolean không bắt buộc

    Chrome 70 trở lên

    Cho biết rằng không được phát ra âm thanh hoặc rung khi thông báo đang hiển thị. Giá trị mặc định là false.

  • tiêu đề

    chuỗi không bắt buộc

    Tiêu đề của thông báo (ví dụ: tên người gửi email).

    **Lưu ý:**Bạn bắt buộc phải cung cấp giá trị này cho phương thức notifications.create().

  • loại

    TemplateType không bắt buộc

    Loại thông báo cần hiển thị. Bắt buộc đối với phương thức notifications.create.

PermissionLevel

Enum

"granted"
Chỉ định rằng người dùng đã chọn hiển thị thông báo từ ứng dụng hoặc tiện ích. Đây là chế độ mặc định tại thời điểm cài đặt.

"denied"
Chỉ định rằng người dùng đã chọn không hiển thị thông báo từ ứng dụng hoặc tiện ích.

TemplateType

Enum

"basic"
Chứa một biểu tượng, tiêu đề, thông báo, expandedMessage và tối đa hai nút.

"image"
Chứa một biểu tượng, tiêu đề, thông báo, expandedMessage, hình ảnh và tối đa hai nút.

"list"
Chứa biểu tượng, tiêu đề, thông báo, các mục và tối đa hai nút. Người dùng trên Mac OS X chỉ thấy mục đầu tiên.

"progress"
Chứa một biểu tượng, tiêu đề, thông báo, tiến trình và tối đa hai nút.

Phương thức

clear()

Promise
chrome.notifications.clear(
  notificationId: string,
  callback?: function,
)
: Promise<boolean>

Xoá thông báo được chỉ định.

Thông số

  • notificationId

    chuỗi

    Mã nhận dạng của thông báo cần xoá. Giá trị này được trả về bằng phương thức notifications.create.

  • callback

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    (wasCleared: boolean) => void

    • wasCleared

      boolean

Giá trị trả về

  • Promise<boolean>

    Chrome 116 trở lên

    Trả về một Lời hứa (Promise) phân giải để cho biết liệu có thông báo trùng khớp hay không.

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

create()

Promise
chrome.notifications.create(
  notificationId?: string,
  options: NotificationOptions,
  callback?: function,
)
: Promise<string>

Tạo và hiển thị thông báo.

Thông số

  • notificationId

    chuỗi không bắt buộc

    Giá trị nhận dạng của thông báo. Nếu bạn không đặt hoặc để trống, thì hệ thống sẽ tự động tạo một mã nhận dạng. Nếu khớp với một thông báo hiện có, thì trước tiên, phương thức này sẽ xoá thông báo đó rồi mới tiếp tục thao tác tạo. Giá trị nhận dạng không được dài quá 500 ký tự.

    Bạn phải dùng tham số notificationId trước Chrome 42.

  • tùy chọn

    Nội dung thông báo.

  • callback

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    (notificationId: string) => void

    • notificationId

      chuỗi

Giá trị trả về

  • <string> hứa hẹn

    Chrome 116 trở lên

    Trả về một Lời hứa sẽ phân giải bằng mã thông báo (được cung cấp hoặc được tạo) đại diện cho thông báo đã tạo.

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

getAll()

Promise
chrome.notifications.getAll(
  callback?: function,
)
: Promise<object>

Truy xuất tất cả thông báo của ứng dụng hoặc tiện ích này.

Thông số

  • callback

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    (notifications: object) => void

    • thông báo

      đối tượng

Giá trị trả về

  • <object> hứa hẹn

    Chrome 116 trở lên

    Trả về một Lời hứa sẽ phân giải bằng tập hợp notification_id hiện có trong hệ thống.

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

getPermissionLevel()

Promise
chrome.notifications.getPermissionLevel(
  callback?: function,
)
: Promise<PermissionLevel>

Truy xuất xem người dùng đã bật thông báo từ ứng dụng hoặc tiện ích này hay chưa.

Thông số

Giá trị trả về

  • PermissionLevel hứa hẹn

    Chrome 116 trở lên

    Trả về một Lời hứa sẽ phân giải theo cấp độ quyền hiện tại.

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

update()

Promise
chrome.notifications.update(
  notificationId: string,
  options: NotificationOptions,
  callback?: function,
)
: Promise<boolean>

Cập nhật thông báo hiện có.

Thông số

  • notificationId

    chuỗi

    Mã của thông báo cần cập nhật. Giá trị này được trả về bằng phương thức notifications.create.

  • tùy chọn

    Nội dung của thông báo cần cập nhật.

  • callback

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    (wasUpdated: boolean) => void

    • wasUpdated

      boolean

Giá trị trả về

  • Promise<boolean>

    Chrome 116 trở lên

    Trả về một Lời hứa (Promise) phân giải để cho biết liệu có thông báo trùng khớp hay không.

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

Sự kiện

onButtonClicked

chrome.notifications.onButtonClicked.addListener(
  callback: function,
)

Người dùng đã nhấn vào một nút trong thông báo.

Thông số

  • callback

    hàm

    Tham số callback có dạng như sau:

    (notificationId: string, buttonIndex: number) => void

    • notificationId

      chuỗi

    • buttonIndex

      số

onClicked

chrome.notifications.onClicked.addListener(
  callback: function,
)

Người dùng đã nhấp vào một khu vực không phải nút của thông báo.

Thông số

  • callback

    hàm

    Tham số callback có dạng như sau:

    (notificationId: string) => void

    • notificationId

      chuỗi

onClosed

chrome.notifications.onClosed.addListener(
  callback: function,
)

Thông báo đã đóng, do hệ thống hoặc do hành động của người dùng.

Thông số

  • callback

    hàm

    Tham số callback có dạng như sau:

    (notificationId: string, byUser: boolean) => void

    • notificationId

      chuỗi

    • byUser

      boolean

onPermissionLevelChanged

chrome.notifications.onPermissionLevelChanged.addListener(
  callback: function,
)

Người dùng thay đổi cấp độ quyền. Kể từ Chrome 47, chỉ ChromeOS mới có giao diện người dùng gửi sự kiện này.

Thông số

onShowSettings

Ngừng sử dụng kể từ Chrome 65
chrome.notifications.onShowSettings.addListener(
  callback: function,
)

Nút cài đặt thông báo tuỳ chỉnh không còn được hỗ trợ.

Người dùng đã nhấp vào một đường liên kết đến phần cài đặt thông báo của ứng dụng. Kể từ Chrome 47, chỉ ChromeOS mới có giao diện người dùng gửi sự kiện này. Kể từ Chrome 65, giao diện người dùng đó cũng đã bị xoá khỏi ChromeOS.

Thông số

  • callback

    hàm

    Tham số callback có dạng như sau:

    () => void