我正在尝试使用 pubnub 在 android 中建立一个群组以及一对一聊天。我面临的问题是:
假设我有三个用户:A、B、C。
让我们假设这三个都有一个以唯一 uuid 运行的 pub nub 实例。
A 想与 B 和 C 开始群聊。在后端,我可以创建一个新的动态 channel ,然后将 A 订阅到该 channel 。
现在,我必须自动为 B 和 C 订阅该 channel ,以便 A 可以与他们聊天。
我该怎么做?我如何通知/发送更新给 B 和 C,A 想与他们开始群聊?
我考虑的一个选择是创建一个所有用户都订阅的全局 channel (G)。然后,当A想和B、C群聊时,
- 在后端创建一个动态生成的 channel 。
订阅 A 到该 channel
发布一条消息(包含B和C的uuid,以及新的
channel 名称)到 G channel 。现在,所有其他人将从 G channel 收到该消息,然后, B和C会看到消息中包含他们的uuid,所以他们
将订阅该 channel 。
但是,看起来,这种方法效率不高。
请建议如何去做。
构建问题的另一种方法是,如果我只知道它是 uuid,我可以将事件发送到 pub nub 实例吗?
编辑:
我想涵盖以下场景:
1) A 可以仅与 B 或仅与 C 发起聊天。
2) A 可以发起与 B 和 C 或 B 和 D 的聊天。
3) B 应该在单独的 channel 中看到来自 A 的消息,在单独的 channel 中看到来自 C 的消息,以及来自与 A 和 C 在不同 channel 中的群聊的消息。
最佳答案
根据 Pubnub 社区论坛,无法直接与特定订阅者进行通信。我的建议是为每个 uuid 创建一个专用 channel 并直接发送到该 channel 。因此应用程序需要在启动时订阅 channel (它自己的 uuid)。
关于android - pubnub 邀请其他人加入群聊,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36371018/