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







