我正在制作一个网络聊天应用程序。该应用程序主要设计用于从移动设备查看,但也可以从标准 PC 访问。后端是 Kinvey mBaas,我的聊天记录存储在 Kinvey 集合中(3 个字段:firstUser、secondUser 和历史记录)。通信通过 REST API 进行,我的所有数据都存储在 JSON 字符串中。
当我收到其他用户的新消息时,我可以收到某种“通知”吗?
谢谢!
免责声明:我已经阅读了 5-6 个不同的主题、教程和有关通知的文章,我什至尝试了 PubNub 指南/教程,但我确实想使用任何第 3 方 API。这是一个学校项目,我还在学习,而且时间在流逝,我有点匆忙。所以我问你们。
最佳答案
由于我不确定您是在询问“客户端”通知还是“服务器端”通知,所以我会提及两者:
浏览器的视觉通知
您可以尝试使用Notification API 。 MDN 包含一个漂亮的 simple example正在使用此 API。
主要网络浏览器对它有相当不错的支持(甚至最新的 Edge 也支持它):http://caniuse.com/#feat=notifications
服务器到客户端的“通知”
既然您提到使用 REST API(由 Kinvey 提供,我以前从未听说过,但我认为它们没有提供一种方法来实现您自己的通信 channel ,例如使用 WebSockets 或 Web Push API),可能是最简单的(但不是很有效)检查新消息的方法是定期向 REST API 发送请求并仅请求新消息。
您可以通过使用 window.setTimeout 来实现此目的或window.setInterval .
更好的解决方案是使用 WebSockets(例如使用 Socket.io)在客户端和服务器之间建立持久的 TCP channel 。然后,您的服务器可以将新消息直接“推送”到任何监听客户端,而无需它们手动检查队列中是否有新消息等待。
关于javascript - 是否可以使用纯 HTML、CSS、JS 发送通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39233842/