Push-notifications
Всплывающие сообщения в браузерах или Push-notification один из способов уведомить клиента о том, что что-то произошло. Лично я терпеть не могу все всплывающее, но иногда без него никак. Будем настраивать Push-notification...
1. Идем сюда: https://console.firebase.google.com/
2. Жмем "Добавить проект". Обзываем его и нажимаем "Создать проект".
Ждем...
3. Идем в Cloud Messaging
4. Копируем: Ключ сервера и Идентификатор отправителя
5. Далее в корень сайта (особенно это касается firebase-messaging-sw.js) копируем файлы (предварительно правим в файлах скопированные ранее ID отравителя)
firebase-messaging-sw.js firebase_subscribe.js push.html
6. Работает только по https (http не сработает). Заходим на тестовую страницу: https:/usite/push.html. Будет запрошено разрешение на отправку сообщений. Разрешаем (т.е. подписываемся на получение сообщений)
push.html - для примера, скрипт firebase_subscribe.js можно включить в любую страницу, обычно это делают на главной странице. При подписке генериться токен вида:
dp7beSw6748:APA91bEoXNrg9mY3zyH5dR8VTc4hy01fZi5YRpjjqcNMoK5eJe36qNnpRj4aTU-GAEfR-KOzAtwSGlSdXwkQQBAjjbObC8Ffcv8J8HZMyLDrJp7J9gh7-lgHi7hNYqMXsypLpZFfvjtq
и отправляется на сервер. В примере он никуда не отправляется, но выводится в консоль, можно его скопипастить для дальнейшего использования. Соответственно, надо организовать прием и хранение токенов на Вашем сервере.
7. Пример отправка сообщения: send_push.php В файле send_push.php нужно указать Ключ сервера, токен, параметры самого сообщения. При отправки сообщения получим ответ примерно такого вида:
Response: {"multicast_id":4667200499784197270,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"https:\/\/updates.push.services.mozilla.com\/m\/gAAAAABbIhSC70S-FWS9gK8YS0QWZciGYpANHMEWYxcYJFV0t
wBOGGeBv5JZxadtWXy3HgUiJUEzi09oQ0vG1t8IFgg7AOKx0NCXIzIjYpu9ezRPi711PcPSR6_lxRRziSdUle0SJfu8mn6ozy_wzUcr6AV7m-VXmgSHJfZlfXu-g2Iwc7zUpiIvC7jedH1FTT89c3oQV4g9"}]}
8. Автоматизируем процесс отправки как Вам нужно | хочется | требуется | попросил начальник | предусмотрено в проекте | не обязательно на PHP | на чем угодно но только не на PHP.
9. Отказ от подписки. Как отключить push-уведомления?
В браузере в настройках ищем "Уведомления".
Заходим в "Параметры"
Находим нужный(не нужный) сайт и удаляем его из списка, сохраняем изменения. Теперь токен, который браузер отправил на сайт уже не действителен. Пытаемся снова отправить сообщение и получаем ответ типа:
Response: {"multicast_id":7258476051622735459,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"NotRegistered"}]}
10. Допиливаем автоматизацию отправки сообщений, которая будет "забывать" о тех токенах, отправка на которые закончилась "failure" с ошибкой "error":"NotRegistered".
Успехов.
Дивись також:
- Справочник команд по Docker. Как поднять Swarm
- MongoDB Replica Set в Docker
- Справочник команд MongoDB
- Как настроить NGNIX Loader balancer + SSL в Docker
- Технология Push notifications. Как сделать на сайте
- Пример Websocket сервера и Websocket клиента. Пример простого чата на websocket
- Как использовать Memcached в Python
- Как использовать Radis в Python
Tags
web java-script bmp280 adc bldc stm32 rs-232 programmator 3d-printer flash pwm sms motor docker raspberry-pi meteo gps ngnix bme280 timer ssd1331 mpu-6050 bkp battery rfid st-link tim mpx4115a ssd1306 encoder atmega pmsm wifi options rtc examples nvic soldering mongodb esp8266 books lcd foc flask barometer bluetooth ethernet brushless uart watchdog servo gpio solar git remap dma usart eb-500 smd nodemcu sensors displays html python capture dht11 led i2c eeprom piezo exti websocket max1674 usb dc-dc avr hih-4000 css mpu-9250
Архіви







