gpt4 book ai didi

android - Pubnub Android 中的多个私有(private)聊天 channel

转载 作者:搜寻专家 更新时间:2023-11-01 07:53:22 24 4
gpt4 key购买 nike

您好,我正在使用 pubnub 制作聊天应用程序,需要一些指导。我已经阅读了所有教程并理解了发布/订阅/多索引/发送推送通知/使用 Android SDK 的状态 API 的概念,并制作了示例公共(public)聊天应用程序。

将我的应用视为客户服务。我将在一端有多个用户,他们可以选择在另一端与我们的员工发起对话。客户只能与我们的员工聊天(彼此之间不能),并且只有客户可以发起对话。我该如何构建它?

我曾想过使用他们的 token (或某些 UUID)作为 channel 名称 cust1_empl1、cust1_empl2 的组合来定义员工和客户之间的每个可能 channel (在每次注册时)。假设我有 5 名员工,那么每个客户拥有的 channel 将是 5,但对于我们而言,我们将需要与不实际的用户一样多的 channel 。(根据我的估计,假设 3000 个用户/员工)

如果用户 1 与员工 1 交谈

1) 我是否必须首先定义 cust1_empl1,然后让他们都发布和订阅 channel ?

2) 有没有办法即时制作这些内容?当 cust1 开始聊天时,我总是可以创建一个 channel 并发布、订阅它,但是另一端的执行人员如何知道这个用户想要聊天并创建了一个新 channel ,因为必须提示他加入 channel 如果它是即时制作的。

3) 我是否必须使用某种公共(public) channel 在设备之间发送信息以及通知他们动态创建的 channel ?

提前致谢

最佳答案

瓦伦,

您可以先让客户和您的代理订阅他们的个人 channel (例如 channel-customer1)。除此之外,代理可以订阅全局 channel (例如 available_agents)(如果他们有空进行对话)。

作为用户,当我想和代理发起聊天时,我会在全局 channel 上发布一条消息

PUBNUB.publish({
channel: 'available_agents',
message: {"customerID":"customer1", "personalChannel": "channel-customer1"}
});

订阅该 channel 的所有可用代理都将收到此请求,并可以在消息中标识的我的“个人” channel 上回复我。要结束循环,我可以在 available-agents channel 上发送另一条消息,宣布我已成功开始与代理的对话。完成客户和代理之间的配对后,您可以为他们创建一个动态 channel ,以便他们在“customer1-agent1-chat”上聊天,或者让双方都在彼此的个人 channel 上发布。例如,

  • 当我想向代理发送消息时,我在 channel-agent1 上发布
  • 当代理想要向我发送消息时,他会在 channel-customer1 上发布

所以回答你的问题:

  1. 您不必从头“创建”cust1_empl1 channel 。只有在将客户和员工配对时,您才会这样做。
  2. 为此,您可以在所有可用代理都订阅的全局 channel 上发送对话请求公告。您还将让他们知道他们可以通过哪个 channel 与您联系以开始聊天。
  3. 如果您将服务器用作创建动态 channel 的中间人,您的服务器只需在客户和员工的私有(private) channel 上发布,让他们知道他们必须为新对话订阅一个额外的 channel

其他需要考虑的事情:

  1. 我建议您看看 PubNub Access Manager出于安全原因。例如,您可以通过仅向客户提供写权限和向员工(代理)提供读权限来锁定 available-agents channel 。
  2. 管理动态创建的 channel 并让客户或员工订阅它的另一种方法是使用 Channel Groups .使用 channel 组,您可以让每个用户只订阅一个个人 channel 组。您可以通过向 channel 组添加/删除单个 channel 来管理对单个 channel 的订阅。

关于android - Pubnub Android 中的多个私有(private)聊天 channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31634113/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com