如何从服务器创建Web推送通知给所有通知授权用户?

时间:2018-01-05 06:17:02

标签: node.js angular angular-cli web-notifications

我正在使用Angular CLI最新版本和NodeJS,想要存档Web推送通知,我们获得了少量文档但是出错了,我是否知道任何支持angular和nodejs的web推送通知文档。

要求是向浏览器关闭时通知的所有用户发送推送通知。

示例文档:

  1. https://ciphertrick.com/2017/03/14/browser-push-notifications-in-angular-applications/(获取错误pushNotificationModule未导出)
  2. https://www.npmjs.com/package/angular2-notifications(不清楚CLI)

1 个答案:

答案 0 :(得分:0)

Angular2 +指令angular2-notifications仅在UI / UX中显示消息的最后一部分。这是你挑战中最少的。

你说:

  

要求是向所有用户发送推送通知   浏览器关闭时授予的通知

部分'虽然浏览器已关闭' 是棘手的部分。

这意味着您需要Service WorkerService Worker是您的浏览器在后台运行的脚本,当浏览器关闭时,该消息将被推送到该脚本。有关Service Workersread this的精彩介绍。自5.0.0以来,Angular在生产版本中实现了Service Workers。 Klik here to read more about it

我不认为设置从Node到socket.io的WebSocket连接(如Service Worker)是可能的。这很复杂,有些人说这是可能的,有些人说没有。见this for more info。我至少会说它不够稳定,所以你需要一个真实的'推送通知。

您可以使用推送通知提供程序来完成这项工作。 Click here for a list of them。您支付这些服务费用。

如果您想自己动手(免费),可以使用Google的跨平台消息传递解决方案Firebase Cloud Messaging (FCM)Google Cloud Messaging (GCM)的继承者)。

要将NodeJS服务器与FCM连接,您可以使用不同的库,例如node-pushserver和其他许多人。