PubNub iOS - presenceHeartbeatInterval 没有正常工作

PubNub iOS - presenceHeartbeatInterval is not working as it should

我正在尝试检测参与者的网络丢失或非正常断开连接,然后在断开连接 30 秒后触发超时事件。我使用两个设备在 viewDidLoad 中尝试了以下操作:

PNConfiguration *config = [PNConfiguration configurationForOrigin:@"pubsub.pubnub.com" publishKey:@"myKey" subscribeKey:@"myKey" secretKey:@"myKey"];
[PubNub setClientIdentifier:_user[@"username"]];
config.presenceHeartbeatInterval = 30;
[PubNub setConfiguration:config];
[PubNub connect];

我将其中一台设备设置为飞行模式。约 320 秒后触发超时,这是默认值。似乎 presenceHeartbeatInterval 值没有做任何事情。我试着设置

config.presenceHeartbeatInterval = 6;
config.presenceHeartbeatTimeout = 30;

一旦我订阅了一个频道,即使设备连接到互联网,超时事件也会每 30 秒触发一次。

有谁知道如何设置超时值,以便在网络丢失/非正常断开连接时在指定值后触发超时事件?

尝试使用最新的客户端版本 (3.7.9.3)。仅当客户端订阅了某些频道时,状态心跳计时器才会触发。使用您的配置,服务器将以 6 秒的间隔被 ping 以告诉他心跳不活动的最长时间,之后服务器将 来自频道的订阅者。