Есть ли обучение по созданию push уведомлений?

Хочу обучится создавать push без сервесов не накидаете ссылок на какие-ниудь обучения по данному вопрос начиная с создания воркеров до самих уведомлений? Интерисует не теория в документации от google и firefox, а какие нибудь практики.
  • Вопрос задан
  • 4494 просмотра
Решения вопроса 3
zoonman
@zoonman
⋆⋆⋆⋆⋆
Если ты не понимаешь теорию, значит на практике у тебя ничего стоящего не выйдет.
А так вполне себе хорошая теория тут https://developer.mozilla.org/en-US/docs/Web/API/P...
И она содержит ссылочку на вполне себе реальный пример https://github.com/chrisdavidmills/push-api-demo

Как эта штука используется на практике.

После того, как вы определились с тем, что вы собираетесь отправлять, вам нужно сделать несколько вещей.
1. Запросить у пользователя разрешение на отправку уведомлений. Делается это через Notification.requestPermission. Если мы получили подтверждение, то идем дальше, если нет, забиваем на это дело. Здесь нужно быть очень осторожным и делать это ненавязчиво.

2. Создать фоновый обработчик, который будет принимать push-уведомления от сервера. Это делается через вызов navigator.serviceWorker.register. Например так https://github.com/chrisdavidmills/push-api-demo/b...
Он подписывается на канал. Канал - это как комната в чате.

За канал отвечает сервер. Сервер слушает порт, браузер подключается к серверу и тупо ждет пока сервер что-нибудь пришлет. Сервер может периодически отправлять пустые сообщения, на которые клиент должен отвечать для поддержания соединения активным. Поэтому у сервера может быть много открытых соединенией.

3. Написать сервер уведомлений. У nginx есть хороший модуль. Он будет обслуживать клиентов.

Рекомендую к просмотру https://www.youtube.com/watch?v=5A5Iw9z6z2s
Ответ написан
SPAHI4
@SPAHI4
реактовцы - это не девы, а прокидыватели пропсов
Ответ написан
Комментировать
savostin
@savostin
Еще один программист
ну, не обучение, но по исходному коду все понятно:
https://gist.github.com/joashp/b2f6c7e24127f2798eb2
https://www.npmjs.com/package/push-notification
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Rou1997
@Rou1997
Если в браузере, то изучайте WebSocket, HTML5 Server Side Events, или наконец обычный AJAX с Long polling может делать то же самое, последнее самое простое, если с AJAX уже работали.
Если не в браузере, то TCP/IP, WebSocket или HTTP с тем же long polling.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы