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
timer meteo pwm capture dma smd brushless sensors 3d-printer examples sms git st-link adc rfid exti web bme280 bmp280 gps options barometer battery lcd dht11 hih-4000 atmega dc-dc piezo solar bluetooth displays mpx4115a bldc websocket eb-500 motor raspberry-pi usb rtc usart max1674 avr soldering mongodb esp8266 programmator mpu-6050 remap rs-232 pmsm bkp gpio i2c eeprom encoder stm32 css docker flask nodemcu ssd1331 tim flash servo nvic ssd1306 mpu-9250 ethernet led foc python ngnix watchdog books html java-script wifi uart
Архіви







