PushManager
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2023.
* Some parts of this feature may have varying levels of support.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
Giao diện PushManager của Push API cung cấp một cách để nhận thông báo từ các máy chủ bên thứ ba cũng như yêu cầu các URL cho thông báo đẩy.
Giao diện này được truy cập thông qua thuộc tính ServiceWorkerRegistration.pushManager.
Thuộc tính tĩnh
PushManager.supportedContentEncodings-
Trả về một mảng các content coding được hỗ trợ có thể dùng để mã hóa payload của một thông điệp đẩy.
Phương thức thể hiện
PushManager.getSubscription()-
Truy xuất một đăng ký đẩy hiện có. Phương thức này trả về một
Promisegiải quyết thành một đối tượngPushSubscriptionchứa chi tiết của đăng ký hiện có. Nếu không có đăng ký hiện có, giá trị giải quyết lànull. PushManager.permissionState()-
Trả về một
Promisegiải quyết thành trạng thái quyền củaPushManagerhiện tại, một trong các giá trị'granted','denied'hoặc'prompt'. PushManager.subscribe()-
Đăng ký một dịch vụ đẩy. Phương thức này trả về một
Promisegiải quyết thành một đối tượngPushSubscriptionchứa chi tiết của đăng ký đẩy. Một đăng ký đẩy mới sẽ được tạo nếu service worker hiện tại chưa có đăng ký nào.
Phương thức lỗi thời
PushManager.hasPermission()Deprecated Non-standard-
Trả về một
Promisegiải quyết thànhPushPermissionStatuscủa webapp yêu cầu, một trong các giá trịgranted,deniedhoặcdefault. Được thay thế bởiPushManager.permissionState(). PushManager.register()Deprecated Non-standard-
Đăng ký một subscription đẩy. Được thay thế bởi
PushManager.subscribe(). PushManager.registrations()Deprecated Non-standard-
Truy xuất các subscription đẩy hiện có. Được thay thế bởi
PushManager.getSubscription(). PushManager.unregister()Deprecated Non-standard-
Hủy đăng ký và xóa một endpoint subscription đã chỉ định. Trong API mới, một subscription được hủy bằng cách gọi phương thức
PushSubscription.unsubscribe().
Ví dụ
this.onpush = (event) => {
console.log(event.data);
// Từ đây chúng ta có thể ghi dữ liệu vào IndexedDB, gửi nó đến bất kỳ
// cửa sổ nào đang mở, hiển thị thông báo, v.v.
};
navigator.serviceWorker
.register("serviceworker.js")
.then((serviceWorkerRegistration) => {
serviceWorkerRegistration.pushManager.subscribe().then(
(pushSubscription) => {
console.log(pushSubscription.endpoint);
// Các chi tiết đăng ký đẩy cần cho máy chủ ứng dụng hiện đã
// sẵn sàng và có thể được gửi tới đó bằng, chẳng hạn,
// API fetch().
},
(error) => {
console.error(error);
},
);
});
Thông số kỹ thuật
| Specification |
|---|
| Push API> # pushmanager-interface> |