Skip to content

Готовая серверная часть для PUSH уведомлений, через Service-Worker

Notifications You must be signed in to change notification settings

RTUITLab/Service-Worker-Express

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Документация

Запуск

  1. Создать Service-Workers на клиенте и всю необходимую логику для подписки на PUSH уведомление.
  2. Сгенерировать публичный и приватный ключ. Для этого можете воспользоваться данным сайтом
  3. Заполнить все переменные окружения в файле .env
  4. Выполнить следующие команды
npm install
npm run start

Запросы

POST-запрос /subscription

В качестве body параметра надо передать на сервер:

body: {
  subscription: "<await registration.pushManager.subscribe>"
  data: {
    title: "<String>"
    options: {
      "//": "Visual Options",
      "body": "<String>",
      "icon": "<URL String>",
      "image": "<URL String>",
      "badge": "<URL String>",
      "vibrate": "<Array of Integers>",
      "sound": "<URL String>",
      "dir": "<String of 'auto' | 'ltr' | 'rtl'>",
    
      "//": "Behavioural Options",
      "tag": "<String>",
      "data": "<Anything>",
      "requireInteraction": "<boolean>",
      "renotify": "<Boolean>",
      "silent": "<Boolean>",
    
      "//": "Both Visual & Behavioural Options",
      "actions": "<Array of Strings>",
    
      "//": "Information Option. No visual affect.",
      "timestamp": "<Long>"
    }
  }
}

Обратно POSH-запрос вернёт, в случае успешной отправки уведомления через webPush.sendNotification (по факту вам результат этого запроса вообще не нужен):

{ success: true }

webPush.sendNotification передаст вашему событию в Service-Worker следующие данные:

data: {
    title: "<String>"
    options: {
      "//": "Visual Options",
      "body": "<String>",
      "icon": "<URL String>",
      "image": "<URL String>",
      "badge": "<URL String>",
      "vibrate": "<Array of Integers>",
      "sound": "<URL String>",
      "dir": "<String of 'auto' | 'ltr' | 'rtl'>",
    
      "//": "Behavioural Options",
      "tag": "<String>",
      "data": "<Anything>",
      "requireInteraction": "<boolean>",
      "renotify": "<Boolean>",
      "silent": "<Boolean>",
    
      "//": "Both Visual & Behavioural Options",
      "actions": "<Array of Strings>",
    
      "//": "Information Option. No visual affect.",
      "timestamp": "<Long>"
    }
  }

About

Готовая серверная часть для PUSH уведомлений, через Service-Worker

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published