Почему API уведомлений не работает на Chrome для Android? - PullRequest
0 голосов
/ 08 декабря 2018

Я использую API уведомлений W3C, задокументированный в MDN.

Однако на Android Chrome этоПохоже, пользователю предлагается разрешить / запретить запрос уведомления, но если пользователь нажимает «разрешить», то ничего не происходит.Поддерживает ли это Android Chrome?

Notification.requestPermission(function (permission) {
    // If the user accepts, let's create a notification
    if (permission === "granted") {
        var options = {
            body: 'something in the body'
        }
        var n = new Notification('My title', options);
    }
}

Затем я создал минимальное хранилище, чтобы попробовать это: https://github.com/agrcrobles/minimum-web-notification

Он развернут здесь: https://minimum -web-messages-n8jmmz0fz.now.sh/

1 Ответ

0 голосов
/ 16 декабря 2018

Следующее работает для работника службы в Android Chrome:

Notification.requestPermission(function(result) {
  if (result === 'granted') {
    navigator.serviceWorker.ready.then(function(registration) {
      registration.showNotification('Notification with ServiceWorker');
    });
  }
});

оно должно запускаться из безопасного источника (URL-адрес https, а не URL-адрес http).

https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerRegistration/showNotification содержит дополнительную информацию.

https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/BygptYClroM содержит информацию о том, почему конструктор уведомлений не поддерживается в Chrome на Android, хотя он все еще находится в настольном Chrome.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...