【问题标题】:What's the more efficient way to build whatsapp like chat functionalities with Quickblox?使用 Quickblox 构建 whatsapp 之类的聊天功能更有效的方法是什么?
【发布时间】:2013-12-09 21:22:47
【问题描述】:

使用 Quickblox 构建类似 whatsapp 的聊天功能的更有效方法是什么,尤其是这些行为:

  1. 接收来自用户的新消息的可视/可听通知 B 在与用户 A 聊天时
  2. 用未读消息的数量更新计数器
  3. 不在时收到新消息的可见/可听通知 聊天(例如,正在进行的对话列表)
  4. 在聊天时,接收对方的消息并且不显示 这些相同消息的远程通知

到目前为止,我倾向于这样的解决方案:

  1. 使用聊天室进行一对一聊天以实现历史记录功能
  2. 在自定义对象中注册每个 1:1 聊天室 使用包含 dateOfLastReceivedMessage 的元信息创建 字段(每位用户额外调用一次 QB)
  3. 每次调用chatRoomDidReceiveMessage,更新日期 dateOfLastReceivedMessage 字段(对 QB 的 2 次额外调用;搜索 记录并更新)
  4. 每发送一条消息,同时发送一个推送通知(1 个额外的呼叫 到QB)
  5. 每次调用 didReceivedRemoteNotification 时,比较日期 自定义对象中带有 dateOfLastReceivedMessage 的消息 (a) (b) (1 次额外呼叫 QB):
    如果 a > b -> 通知是新消息/未读消息:增加新消息的计数器并显示视觉线索/播放声音。
    如果 a > b -> 通知不是新消息/未读消息:什么也不做。

对于熟悉 Quickblox 的人来说,这看起来是正确的还是有更好的方法来实现相同的行为?

【问题讨论】:

    标签: quickblox


    【解决方案1】:

    1) 使用聊天室进行一对一聊天以实现历史记录功能

    2) 在创建时在自定义对象中注册每个 1:1 聊天室 元信息包括 dateOfLastReceivedMessage 字段(1 为每个用户额外调用 QB)

    3) 每次调用 chatRoomDidReceiveMessage 时,更新日期 dateOfLastReceivedMessage 字段(对 QB 的 2 次额外调用;搜索 记录并更新)

    您可以使用 1-1 聊天(不是聊天室),也可以使用聊天历史记录,QuickBlox 为这个 http://quickblox.com/developers/Chat/1:1_Chat_history 发布插件

    所有聊天记录都将存储在 CustomObjects 模块中。 您将能够使用出色的搜索 API 来请求聊天记录

    每发送一条消息,同时发送一个推送通知(1 个额外的电话 到QB)

    正确

    每次调用 didReceivedRemoteNotification 时,比较日期 自定义对象中带有 dateOfLastReceivedMessage 的消息 (a) (b) (1 次额外呼叫 QB):如果 a > b -> 通知是新的/未读的 消息:增加新消息的计数器并显示视觉线索/播放 一个声音。如果 a > b -> 通知不是新的/未读消息:做 什么都没有。

    是的,应该这样工作

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多