PushSubscription
Experimental
This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The PushSubscription
interface of the Push API provides a subcription's URL endpoint and allows unsubscription from a push service.
An instance of this interface can be serialized.
Properties
PushSubscription.endpoint
Read only- A
USVString
containing the endpoint associated with the push subscription. PushSubscription.expirationTime
Read only- A
DOMHighResTimeStamp
of the subscription expiration time associated with the push subscription, if there is one, or null otherwise. PushSubscription.options
Read only- An object containing the options used to create the subscription.
PushSubscription.subscriptionId
Read only- A
DOMString
containing the subscription ID associated with the push subscription.
Methods
PushSubscription.getKey()
- Returns an
ArrayBuffer
which contains the client's public key, which can then be sent to a server and used in encrypting push message data. PushSubscription.toJSON()
- Standard serializer — returns a JSON representation of the subscription properties.
PushSubscription.unsubscribe()
- Starts the asynchronous process of unsubscribing from the push service, returning a
Promise
that resolves to aBoolean
when the current subscription is successfully unregistered.
Example
navigator.serviceWorker.ready.then(function(reg) {
reg.pushManager.getSubscription().then(function(subscription) {
subscription.unsubscribe().then(function(successful) {
// You've successfully unsubscribed
}).catch(function(e) {
// Unsubscription failed
})
})
});
Specifications
Specification | Status | Comment |
---|---|---|
Push API The definition of 'PushSubscription' in that specification. |
Working Draft | Initial definition |
Browser compatibility
BCD tables only load in the browser