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
Недавні записи
- U-FOC PC Monitor для Chrome browser
- Фільтрація Back-EMF. Безсенсорні BLDC мотори
- Text to speech. Українська мова
- LCD Display ST7567S (IIC)
- Розпізнавання мови (Speech recognition)
- Selenium
- Комп'ютерний зір (Computer Vision)
- Деякі думки про точність вимірювань в електроприводі
- Датчики Холла 120/60 градусів
- Модуль драйверів напівмосту IGBT транзисторів
Tags
eeprom gps mpu-9250 sensors lcd displays html tim meteo remap pwm avr rfid ethernet pmsm raspberry-pi mpx4115a piezo uart watchdog exti git i2c bme280 bmp280 barometer nodemcu st-link eb-500 led atmega esp8266 bkp servo stm32 wifi flask solar bluetooth brushless motor smd docker books encoder capture battery soldering hih-4000 ssd1331 ssd1306 mpu-6050 dc-dc ngnix programmator mongodb examples adc nvic dht11 rs-232 css websocket web python 3d-printer rtc usart gpio foc bldc usb flash dma sms max1674 java-script timer options
Архіви