How to correctly check for permission for Push Notifications?
From what I've observed, Notification.permission
and navigator.permissions.query({name:'push', userVisibleOnly:true})
both can be used to obtain the permission status for sending push notifications (Notification.permission is permission for showing notification while the former is permission for sending push but in practical use cases, they're interchangeable from my understanding), "granted" and "denied" are common but the former gives "default" permission in chrome if the user has neither blocked the permission not granted, while permissions.query shows "prompt".
I wanted to know which one is preferable in which scenario to check the permissions and when can they give different results in case user has granted or blocked permission. Does it depend on browser or browser versions or whether we're executing the code in service worker scope or normal global scope that which one we use? Also I read that there's some difference between their behaviour on Firefox browser, but I'm not clear on it.
javascript push-notification notifications service-worker web-notifications
add a comment |
From what I've observed, Notification.permission
and navigator.permissions.query({name:'push', userVisibleOnly:true})
both can be used to obtain the permission status for sending push notifications (Notification.permission is permission for showing notification while the former is permission for sending push but in practical use cases, they're interchangeable from my understanding), "granted" and "denied" are common but the former gives "default" permission in chrome if the user has neither blocked the permission not granted, while permissions.query shows "prompt".
I wanted to know which one is preferable in which scenario to check the permissions and when can they give different results in case user has granted or blocked permission. Does it depend on browser or browser versions or whether we're executing the code in service worker scope or normal global scope that which one we use? Also I read that there's some difference between their behaviour on Firefox browser, but I'm not clear on it.
javascript push-notification notifications service-worker web-notifications
add a comment |
From what I've observed, Notification.permission
and navigator.permissions.query({name:'push', userVisibleOnly:true})
both can be used to obtain the permission status for sending push notifications (Notification.permission is permission for showing notification while the former is permission for sending push but in practical use cases, they're interchangeable from my understanding), "granted" and "denied" are common but the former gives "default" permission in chrome if the user has neither blocked the permission not granted, while permissions.query shows "prompt".
I wanted to know which one is preferable in which scenario to check the permissions and when can they give different results in case user has granted or blocked permission. Does it depend on browser or browser versions or whether we're executing the code in service worker scope or normal global scope that which one we use? Also I read that there's some difference between their behaviour on Firefox browser, but I'm not clear on it.
javascript push-notification notifications service-worker web-notifications
From what I've observed, Notification.permission
and navigator.permissions.query({name:'push', userVisibleOnly:true})
both can be used to obtain the permission status for sending push notifications (Notification.permission is permission for showing notification while the former is permission for sending push but in practical use cases, they're interchangeable from my understanding), "granted" and "denied" are common but the former gives "default" permission in chrome if the user has neither blocked the permission not granted, while permissions.query shows "prompt".
I wanted to know which one is preferable in which scenario to check the permissions and when can they give different results in case user has granted or blocked permission. Does it depend on browser or browser versions or whether we're executing the code in service worker scope or normal global scope that which one we use? Also I read that there's some difference between their behaviour on Firefox browser, but I'm not clear on it.
javascript push-notification notifications service-worker web-notifications
javascript push-notification notifications service-worker web-notifications
asked Nov 22 '18 at 12:59
John DoeJohn Doe
427
427
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53431598%2fhow-to-correctly-check-for-permission-for-push-notifications%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53431598%2fhow-to-correctly-check-for-permission-for-push-notifications%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown