gpt4 book ai didi

ios - iOS 中的 QuickBlox 联机/脱机问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:03:32 25 4
gpt4 key购买 nike

我已经尝试过 QuickBlox 文档方法,但上次请求时间始终不变,实际上,当连接的用户使用 Quickblox 进行任何事件(例如与某人聊天)时,它应该被更新。
但是,它保持不变。(它只给出用户登录的时间)。

那么它将如何根据每个请求进行更新?
我尝试了以下代码。

[QBACCESS fetchUserDetailsWithID:userID withCompeltionHandler:^(QBUUser *userDetails,BOOL status){
if(status){
QBUUser *user = userDetails;
NSInteger currentTimeInterval = [[NSDate date] timeIntervalSince1970];
NSInteger userLastRequestAtTimeInterval = [[user lastRequestAt] timeIntervalSince1970];
// if user didn't do anything last 1 minute (60 seconds)
if((currentTimeInterval - userLastRequestAtTimeInterval) > 60){
//means user is offline
}
else{
//user is online
}
}
}];

这里在所有情况下都显示离线,因为我的 [user lastRequestAt] 在用户登录时一直是相同的。
所以,它不是实时在线/离线。请帮助我

最佳答案

经过大量研究,我发现只有通过订阅状态,我们才能使用QuickBlox实现实时在线/离线。

有四种订阅状态。

  1. QBPresenseSubscriptionStateNone
  2. QBPresenseSubscriptionStateTo
  3. QBPresenseSubscriptionStateFrom
  4. QBPresenseSubscriptionStateBoth

为了检查实时在线/离线我们需要向对手(其他)用户发送请求,如果对手用户接受他们的请求意味着 QBPresenseSubscriptionStateBoth,那么双方将相互了解并调用以下委托(delegate)方法,

- (void)chatContactListDidChange:(QBContactList *)contactList{

}

- (void)chatDidReceiveContactItemActivity:(NSUInteger)userID
isOnline:(BOOL)isOnline
status:(NSString *)status{

//here we check offline/online of particular user using ID.
}

更多详情请浏览:Contact List .

关于ios - iOS 中的 QuickBlox 联机/脱机问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39894571/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com