This is an experimental technologyCheck the Browser compatibility table carefully before using this in production.
The permissionState()
method of the PushManager
interface returns a Promise
that resolves to a DOMString
indicating the permission state of the push manager. Possible values are 'prompt'
, 'denied'
, or 'granted'
.
Note: As of Firefox 44, the permissions for Notifications and Push have been merged. If permission is granted for notifications, push will also be enabled.
Syntax
PushManager.permissionState(options).then(function(PushMessagingState) { ... });
Parameters
options Optional
- An object containing optional configuration parameters. It can have the following properties:
userVisibleOnly
- A boolean indicating that the returned push subscription will only be used for messages whose effect is made visible to the user.
applicationServerKey
: A public key your push server will use to send messages to client apps via a push server. This value is part of a signing key pair generated by your application server and usable with elliptic curve digital signature (ECDSA) over the P-256 curve.
Returns
A Promise
that resolves to a DOMString
with a value of 'prompt'
, 'denied'
, or 'granted'
.
Specifications
Specification | Status | Comment |
Push APIThe definition of 'permissionState()' in that specification. | Working Draft | Initial definition. |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Chrome
Full support 42 |
Edge Full support 16 Full support 16 Disabled' From version 16: this feature is behind the |
Firefox Full support 44 Full support 44 Notes' Extended Support Releases (ESR) before Firefox 78 ESR do not support service workers and the Push API. |
IE
No support No |
Opera
Full support 29 |
Safari
No support No |
WebView Android
No support No |
Chrome Android
Full support 42 |
Firefox Android Full support 48 Full support 48 Notes' Push enabled by default. |
Opera Android
Full support 29 |
Safari iOS
No support No |
Samsung Internet Android
Full support 4.0 |
Legend
- Full support
- Full support
- No support
- No support
- Experimental. Expect behavior to change in the future.'
- Experimental. Expect behavior to change in the future.
- See implementation notes.'
- See implementation notes.
- User must explicitly enable this feature.'
- User must explicitly enable this feature.
PushManager.permissionState() by Mozilla Contributors is licensed under CC-BY-SA 2.5.