2015-09-10 2 views

ответ

12

Вы можете делать настоящие push-уведомления с помощью веб-приложений сегодня в Chrome, используя Service Workers и PushManager от W3C Push API.

См. Статью Push Notifications on the Open Web для пошаговых инструкций и фрагментов кода, которые вы можете использовать. Вот диаграмма из этой статьи, в которой объясняется, как выглядит пользовательский интерфейс.

enter image description here

implementation of the Push API has already landed in Firefox тоже; он предназначен для доставки в ноябре 2015 года в Firefox 42. Также у Microsoft есть indicated that the Push API is also under consideration for implementation in Edge team.

Ниже приведен простой пример кода, заимствованный из MDN.

this.onpush = function(event) { 
    console.log(event.data); 
} 

navigator.serviceWorker.register('serviceworker.js').then(
    function(serviceWorkerRegistration) { 
    serviceWorkerRegistration.pushManager.subscribe().then(
     function(pushSubscription) { 
     console.log(pushSubscription.subscriptionId); 
     console.log(pushSubscription.endpoint); 
     }, function(error) { 
     console.log(error); 
     } 
    ); 
    }); 
+2

Клиентская сторона проста. Как насчет серверной части? Разве это не вопрос мяча? – Pacerier

+0

Является ли подход Google Cloud Messaging (Firebase) только для хром или он также работает для firefox? – Vetterjack

-1

Это зависит от того, что вы хотите достичь:

  • если вы хотите послать уведомление толчка к пользователю во время серфинга вашего сайта, вы можете использовать WebSockets и (по желанию) в API Уведомления для дайте уведомлению «родной» стиль
  • , если вы хотите получать уведомления о выходе за пределы сайта (которые предоставляются, даже если пользователь не находится на вашем веб-сайте), вы должны использовать комбинацию Push API (для запуска события офлайн) и API уведомлений для отображения уведомления (вы может read more here или использовать такую ​​услугу, как Pushpad)
+0

Пульт ДУ не является бесплатным. доля знаний должна быть бесплатной, никто не делится ею бесплатно. – YumYumYum

+0

@YumYumYum Вопрос слишком широк, чтобы дать полный ответ здесь: если вы хотите начать с нуля, я предлагаю вам прочитать [этот ответ] (http://stackoverflow.com/a/34920874/51387) (что Я уже упоминал в своем ответе выше). Он содержит обзор Push API и ссылку на [учебник] (https://developers.google.com/web/updates/2015/03/push-notifications-on-the-open-web), который помог мне начните (несмотря на предупреждение на странице, статья по-прежнему полезна сегодня). – collimarco

Смежные вопросы