1

在之前在 npmtwilio-chat上使用包之后,我目前正在升级使用 Twilio IPM 的实现以使用新的 GA 版本。twilio-ip-messaging实现之间存在一些差异,但到目前为止,这并不是什么大问题。然而,似乎有一些事件行为发生了变化,我很难理解为什么。

之前twilio-chat,如果我在浏览器上下文中连接了客户端 A,则任何公共频道创建(来自另一个客户端 B 或服务器端)都会触发channelAdded来自 twilio 的事件。这似乎不再发生。新频道在任何后续getPublicChannelDescriptors呼叫中都可见,但我没有收到该事件。

是否可以选择参加这些活动?或者以其他方式配置这应该向所有连接的客户端宣布?

我可以想到一些解决方法,例如宣布新频道创建的命名持久频道,或者客户端 A 的其他一些“推送”机制,然后刷新其频道列表,但是当已经有推送机制时,一切都感觉有点脏曾经影响相同行为的地方。

4

1 回答 1

0

Twilio 开发人员布道者在这里。

channelAdded由于有多少端点可以订阅单个全局public channels对象的限制,可编程聊天 SDK 中删除了公共频道的事件。

您可以通过 webhook 接收这些事件,但您仍然需要一种方法来通知应用程序的客户端。您为此建议使用持久频道是一个很好的解决方法。您甚至可以隐藏此频道并在消息中发送结构化数据,以便您在界面中显示新频道并通过 SDK 请求有关它的更多数据。

如果整个聊天频道太过分了,您还可以尝试使用Twilio Sync 在用户之间同步活动频道列表。

我同意这确实有点像黑客攻击。将来所有渠道都可能channelAdded再次引发该事件,但我现在不能保证这样的事情,因此您需要解决它。

于 2017-11-03T04:58:56.027 回答