服务器:Pusher gem(rails)客户端:Pusher Swift
如何使用Pusher gem检测客户端是否已脱机(应用程序在后台)或重新联机(应用程序在前台)?
当客户端在不查询客户端在线标志的情况下进入后台时,我想要实现的是将APN发送到客户端。
有可能实现这一目标吗?如果客户端收到消息,是否可以检查事件触发器的状态?
由于
答案 0 :(得分:0)
有几种方法可以实现您的目标。
如果您在每个客户端使用单个频道,则可以使用here所述的channel_existence
网络漫游。由于每个频道仅限于一个用户,因此,只要您的客户端上线,您就会收到channel_vacated
网络摘要,并且只要您的客户上线,您就会收到channel_occupied
网络摘要。
如果您没有为每个客户端使用单个频道,则可以使用presence channels和webhooks。每次用户加入/离开频道时,您都可以配置member_added
/ member_removed
webhook。与此相关的额外消息开销,因为频道中的每个用户也将通过websocket连接收到member_added
/ member_removed
webhook。