PubNub如何发布订阅在iOS内部(客户端)内部工作

时间:2016-04-16 02:00:15

标签: ios pubnub

我想知道在给定所有操作系统限制的情况下,它使用什么技术来提供iOS的实时消息。其中很少有我想到的

  • 定期投票
  • 与服务器的持久连接,例如websocket或xmpp
  • 推送通知

即使app在后台,它的发布订阅也能正常工作吗?

2 个答案:

答案 0 :(得分:1)

自4.0起,PubNub iOS SDK在其运行的应用程序暂停时不会收到订阅事件。您可以通过PubNub的APNS网关设置推送通知来接收推送事件,但它们的处理方式与标准推送通知类似,而不像PubNub事件那样。

当您的应用运行时,PubNub似乎使用websocket连接来发送和接收通知。当您订阅的频道收到消息时,您创建的客户端将收到回调。

他们的SDK是开源的,因此如果您有兴趣,可以检查内部发生的事情。

答案 1 :(得分:1)

PubNub和后台连接

在后台保持连接,继续通过subscribe接收实时消息不是PubNub SDK的功能,如果您使用的是PubNub iOS 3.x SDK则无关紧要(请不要,它,它有EOL'ed)或PubNub Objective-C for iOS 4.x SDK(请尽快开始使用或尽快迁移到它)。您必须配置并实施您的应用程序才能在后台运行,Apple必须允许您(通过应用程序审核)这样做。

您的应用必须属于证明背景活动合理的类型:see Apple dev docs for iPhone OS Programming Guide - Background Execution (table 3.1)

Background Modes in iOS的RayWunderlich.com上有一个很棒的教程,可以很好地解释所有选项。

还有PubNub Swift for iOS SDK 4.x