Push с API веб-уведомлений

Я только начал изучать API веб-уведомлений. Этот JS сразу же отобразит уведомление, когда я загружу страницу:

if("Notification" in window) {
    if(Notification.permission == "granted") {
        var notification = new Notification("Notification Title", {"body":"Message Body", "icon":"my-icon.png"});
    } else {
        Notification.requestPermission(function (permission) {
            if (permission === "granted") {
                var notification = new Notification("Notification Title", {"body":"Message Body", "icon":"my-icon.png"});
            }
        });
    }
} else {
    alert("Your browser doesn't support notifications");
}

Но что меня больше интересует, так это отображение уведомления, когда кто-то другой посещает ту же страницу. Всякий раз, когда кто-то (не я) посещает, например, customer.php, уведомление должно отображаться для меня, а не для них.

Можно ли это сделать с помощью API веб-уведомлений, и если да, то как мне это сделать?


person User_FTW    schedule 19.04.2017    source источник
comment
вам нужен веб-сервер для этого право?   -  person ianace    schedule 19.04.2017
comment
Вам нужен код сервера. Кроме того, вам нужно использовать Push API (или такой сервис, как Pushpad), чтобы доставлять уведомления, даже если вы не в сети в этот момент. Сначала аутентифицируйте своих пользователей каким-либо образом (аутентификация или файлы cookie), затем подпишите их на push-уведомления (спросите разрешение), а затем, когда кто-то посетит эту страницу, вызовите уведомление с вашего сервера.   -  person collimarco    schedule 19.04.2017


Ответы (1)


  1. Регистрация уведомлений для конкретной роли (кто хочет получать уведомления). поэтому ваш код Notification.permission будет выполняться для конкретных пользователей приложения.
  2. Добавьте код на веб-сайт, чтобы отправить сообщение на ваш сервер, может быть несколько возможных способов: функция JavaScript вызывается при загрузке сайта и асинхронно отправляет сообщение на сервер.
  3. На стороне сервера у вас есть API, получающий сообщение, публикующее уведомление для зарегистрированных пользователей (в пункте 1 выше)
person dewraj singh    schedule 12.03.2019