OGeek|极客世界-中国程序员成长平台

标题: ios - 如何在PUBNUB + IOS后台管理在线/离线/离开状态? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 15:22
标题: ios - 如何在PUBNUB + IOS后台管理在线/离线/离开状态?

我们想在 iOS 中使用 Pubnub 框架实现在线/离线,但应用在后台运行时间不超过 10 分钟。我们试图通过启用位置功能及其工作正常来实现这一点。但是客户端不想为此启用位置服务。那么我们将如何设法使后台无限运行? (问题 1)

如果我们想在我们的代码中放置在线/离线/离开状态

我们应该展示的地方, 在线:当用户打开应用时 离线:当用户从后台关闭应用或删除应用时 离开:当用户点击主页按钮并且应用程序处于后台时。

我们将如何实现这一点(特别是 AWAY 和离线状态)?(QUE 2)

还有其他方法可以管理在线/离线/离开吗? (没有 Pubnub)(QUE 3) 如果是,请描述方式。

我们将如何使用网络服务管理在线/离线/离开?当我们称其为 Web 服务时? (问题 4)

我们使用了将近 3-4 年的基本代码。那么我们是否应该在 plist 中添加任何其他参数以在后台启用应用程序更多时间? (问题 5)

请指导我们。



Best Answer-推荐答案


PubNub Presence ,您有在您的应用程序中提供此功能的最佳方式,但由于 iOS 处理应用程序进入后台的方式,您可能有机会也可能没有机会更新此状态(取决于应用程序的运行配置方式)。

但很简单,by enabling Presence for your PubNub keys , 当一个客户 subscribes to a channel ,一个 join 事件被发送到所有其他正在该 channel 上监听状态的订阅者。

当应用程序进入后台时,如果您有机会这样做,您可以call unsubscribe on all the channels客户端已订阅,leave 事件将发送给该​​/那些监听出席事件的 channel 的所有订阅者。

如果应用程序被杀死或进入后台,而您没有机会调用 unsubscribe,当应用程序 离线/断开 的时间超过配置的心跳周期,然后一个timeout(相当于一个leave事件)将被发送给所有监听出席事件的订阅者。

heartbeat defaults to 5 minutes but you can configure this to a lower setting like 60 seconds (或者对于需要此时间但从不低于 15 秒的用例来说更短)。

如果您希望您的服务器监听 Presence 事件,那么您将需要使用我们的 Presence Webhooks(文档即将推出)。请参阅 this StackOverflow thread about how to implement PubNub Presence Webhooks and how to get your PubNub keys configured to use them .

关于ios - 如何在PUBNUB + IOS后台管理在线/离线/离开状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30521730/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4