node.js - 推送通知 RESTful WebApp Angular2/NodeJS

标签 node.js rest angular push-notification

我正在开发一个Restful Web 应用程序。我分前端和后端,前端使用Angular2,后端使用NodeJS

我想使用通知并将它们推送给特定用户。

示例:如果我的用户决定订阅,当我决定发送一个通知或者我的 NodeJS 服务器想要向用户组发送消息时,他会收到桌面通知。

我见过很多前端和后端的不同模块,但我有点迷路。

在架构上,我应该如何在我的应用程序中添加这个服务? 我应该使用特定的 Node 模块吗?

最佳答案

您谈论的是桌面通知。我想您希望用户在浏览器或应用程序关闭时也能收到通知。在这种情况下,您需要一个 Service WorkerService Worker 是您的浏览器在后台运行的脚本,当浏览器或应用程序关闭时,消息将推送到该脚本。如需详细了解 Service Workersread this . Angular 从 5.0.0 开始在生产版本中实现了 Service Workers。点击here to read more about it .

在后端,您需要一个特殊的 Node 模块来发送通知。例如node-pushserver , 但还有很多其他的。这个特殊的 Node 模块连接到实际发送消息的消息服务。例如,您可以使用 Google 的跨平台消息传递解决方案 Firebase Cloud Messaging (FCM)(Google Cloud Messaging (GCM) 的后继者)。它可以发送到 Web、iOS 和 Android。

在客户端,您需要为推送通知注册 Service Worker。然后你会得到一个endpoint需要存放在node server端。您每次使用此端点向消息服务发送推送请求。

您还可以使用付费推送通知提供商来完成这项工作。 Click here for a list of them .

设置 WebSocket 连接(如 socket.io)将无法工作,因为它无法与 Service Worker 保持连接.

关于node.js - 推送通知 RESTful WebApp Angular2/NodeJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44292402/

相关文章:

滚动控制台窗口时 Node.js 停止

api - 将 OAuth 2.0 身份验证添加到 RESTful API

java - 如何解决BeanCreationException?

rest - Spring 4 RestController JSON : characteristics not acceptable according to the request "accept" headers

javascript - 将点击事件绑定(bind)到动态生成的内容(Angular 4)

Angular Router.url 不更新当前路径

node.js - 上传媒体文件后无法在 Angular 2中播放该文件,显示404未找到

javascript - 使用ng-repeat、ng-form、ng-submit后如何提交

node.js - nodejs + mongo + find + $和错误: Can't canonicalize query

javascript - Safari Mobile 中的 EXIF 方向问题