可以在两个Pusher应用程序之间进行私有通道通信

时间:2016-10-11 13:15:58

标签: ios ruby-on-rails pusher

我有两个iOS应用程序,我们称之为代理应用程序和客户应用程序。 我在这两个应用程序之间有聊天功能,但聊天记录需要记录在服务器上。

我创建了两个Pusher应用程序,每个iOS应用程序一个。他们都订阅了他们各自的private-{id}-channel

现在,每当从代理应用程序(通过HTTP请求到服务器)生成消息时,我希望服务器在客户的专用信道上创建具有代理消息的推送事件。

是否可以使用Pusher Private频道实现上述目标?

2 个答案:

答案 0 :(得分:2)

实现这一目标的一种方法是让两个用户加入同一个频道。

假设您有两位用户:user-auser-b两个用户都订阅了一个公共私有频道private-chat-user-a-user-b

let myChannel = pusher.subscribe("private-chat-user-a-user-b")

然后在频道上触发客户端事件

myChannel.trigger(eventName: "client-my-event", data: ["your": "data"])

Client events是一种仅在客户端之间发送消息的方式,而无需服务器中继它们。

披露:我在推动工作。

答案 1 :(得分:0)

我想在服务器上记录聊天,因此,我没有让客户应用程序直接在Agent App频道上发送消息,而是让客户应用程序调用我的服务器API,该API记录消息并依赖于Agent App所在的频道。听。