pubnub - pubnub 上的线程消息传递

标签 pubnub

我们想在 Pubnub 的聊天 channel 中创建消息线程。例如,某人可以通过“创建线程”并开始聊天来响应 channel 中的特定消息。是否有规定的方法来模拟这种行为?如果是这样,您能否引用文档?

这是你在slack中看到的行为,供引用。

最佳答案

没有针对线程消息传递的现成解决方案。但是,可以通过使用元数据标记消息(使用 PN 对象和/或 MessageActions)然后在您端进行一些编码来维护和处理它们的关系,从而在消息之间建立层次关系。

您可以使用线程第一条消息的时间标记作为键,根据它对消息进行分组,并使用消息自己的时间标记为 UI 生成顺序。

https://www.pubnub.com/docs/sdks/javascript/api-reference/publish-and-subscribe#methods

这是执行此操作的高级设计:

  • 消息发布到名称为 chat_11223344 的 channel ( channel 名称使用 chat_ 作为所有聊天 channel 的前缀和生成的 ID - 此处保持简短但您可以为此使用 uuid 生成器)。该发布返回一个发布时间 token ,类似于:16183330926487763
  • 使用PN Objects ,可以设置 channel 的显示名称和说明。
  • 在您的聊天 UI 中,您允许其他人针对该消息创建话题。消息发布到名为 chat_11223344.16183330926487763 的 channel ,使用顶级消息的发布时间标记作为“子 channel ”名称。
  • 为了能够轻松识别线程化的顶级消息,您可以添加 MessageAction当第一个“线程”消息发布时到该消息。您可能还想添加自定义 channel 元数据(再次是 PN 对象)以添加 "isThreaded":true 键/值。

关于pubnub - pubnub 上的线程消息传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67068636/

相关文章:

websocket - 云/托管推送系统可以使用socket.io作为客户端吗?

android - 使用 Firebase/Parse/PubNub 的跨平台文本、图像、视频 Chat for Android、iOS 和 Web

android - 在 Pubnub 中导入数据

ruby - 异常:ActiveRecord::ConnectionNotEstablished 使用 pubnub

java - 如何从 github 树创建单个 jar 文件?

pubnub - 在 Ember 页面中使用 EON 图表

node.js - 设置 Pubnub Nodejs 服务器的问题

angularjs - 在 AngularJS 中限制 PubNub 请求

javascript - 由于某种原因,Pubnub javascript 未收到回调或消息

C# Pubnub SDK 使用模式