QuickBlox Chat:如何检测另一个用户已断开连接?

时间:2014-03-07 23:00:54

标签: ios chat quickblox

我正在为iOS实施聊天应用程序。这是场景:

  1. 两名QBUU从事积极的聊天消息交流。
  2. User1由于某种原因而脱机(断开连接或应用程序转到后台)。让我们假设应用程序在QBChat实例上调用了logout。
  3. User2向User1发送ChatMessage,因为他认为User1仍在线。
  4. 我应该向User1发送推送通知,但是如何检测到User1不再可用于接收ChatMessage?

    我在StackOverflow上看到有人建议检查QBUUser上的“last_request_at”属性,但这似乎很苛刻,因为我每次发送ChatMessage时都要查询服务器。这也不会告诉我他们什么时候退出QBChat实例。

    我的后备计划是在我们自己的应用服务器上跟踪用户登录/注销(不依赖于QuickBlox服务器)。这里使用QuickBlox SDK的优雅解决方案是什么?

1 个答案:

答案 0 :(得分:0)

您有2种方法可以做:

1)使用联系人列表http://quickblox.com/developers/SimpleSample-chat_users-ios#Contact_list

通过联系人列表,您可以跟踪联系人列表的用户的在线状态。联系人列表类似于Facebook中的常见朋友列表。

2)为每条消息发送推送通知。如果用户离线 - 他将收到它。如果用户在线 - 只需忽略此推送。