使用Quickblox构建聊天功能等whatsapp的更有效方法是什么?

时间:2013-12-09 21:22:47

标签: quickblox

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

  1. 收到来自用户的新消息的可见/可听通知 B与用户A聊天时
  2. 使用未读消息数更新计数器
  3. 在不在的情况下收到新消息的可见/可听通知 聊天(例如,正在进行的对话列表)
  4. 在聊天时,接收来自对手的消息并且不显示 这些相同消息的远程通知
  5. 到目前为止,我倾向于这样的解决方案:

    1. 使用聊天室进行1:1聊天以获取历史记录功能
    2. 在自定义对象中注册每个1:1聊天室 使用包含dateOfLastReceivedMessage的元信息创建 字段(每个用户额外调用1个QB)
    3. 每次调用chatRoomDidReceiveMessage时,都会更新日期 dateOfLastReceivedMessage字段(2次额外调用QB;搜索 记录并更新它)
    4. 发送每条消息,同时发送推送通知(1次额外通话 到QB)
    5. 每次调用didReceivedRemoteNotification时,都要比较日期 消息(a)与自定义对象中的dateOfLastReceivedMessage (b)(1次额外打电话给QB):
      如果a> b - >通知是一条新的/未读的消息:增加新消息的计数器并显示视觉线索/播放声音 如果a> b - >通知不是新的/未读的消息:什么都不做。
    6. 对于熟悉Quickblox的人来说,这看起来是否正确或是否有更好的方法来实现相同的行为?

1 个答案:

答案 0 :(得分:1)

  

1)使用聊天室进行1:1聊天以获取历史记录功能

     

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

     

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

您可以使用1-1聊天(不是聊天室),还可以使用聊天记录,QuickBlox发布的插件http://quickblox.com/developers/Chat/1:1_Chat_history

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

  

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

正确

  

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

是的,应该这样工作