Quickblox 一对一聊天记录不起作用

Posted

技术标签:

【中文标题】Quickblox 一对一聊天记录不起作用【英文标题】:Quickblox one to one chat history not working 【发布时间】:2015-07-12 14:30:23 【问题描述】:

我在 Quickblox 中使用 javascript SDK 进行 1-1 聊天,但不知何故我无法存储聊天历史记录。

我正在关注这个link。

var message = 
    body: text,
    type: 'chat',
    extension: 
        nick: chatUser.email,
        // token from session is set on window object
        token: window.token,
        // MyChat is a custom class_name
        class_name: 'MyChat'

    
;

我正在传递class_nametoken,因为我看到android sdk 遵循相同的模式。

private Message createMsgWithAdditionalInfo(int userId, String body,     Map<?, ?> addinfoParams)
    Message message = new Message(QBChatUtils.getChatLoginFull(userId), Message.Type.chat);
    String addInfo = ToStringHelper.toString(addinfoParams, "",  Consts.ESCAPED_AMPERSAND);
//
    MessageExtension messageExtension = new MessageExtension(Consts.QB_INFO, "");
    try 
        messageExtension.setValue("token", QBAuth.getBaseService().getToken());
        messageExtension.setValue("class_name", "ChatMessage");
        messageExtension.setValue("additional", addInfo);
     catch (BaseServiceException e) 
        e.printStackTrace();
    
    message.addExtension(messageExtension);
    message.setBody(body);
       return message;
    

在说明中我也看到了这一点。

<message id="123" type="chat" to="291-92@chat.quickblox.com" from="292-92@chat.quickblox.com"><body>Hi there</body><quickblox xmlns=""><token>848d4bf336d99532deff6bf7c8bb4b7e7b1a71f9</token><class_name>ChatMessage</class_name></quickblox></message>

在这里,我还看到 tokenclass 已通过,所以我猜测如何在我的 message 对象中构造,以便让它工作。

我创建chatService的方式是这样的。

chatService = new QBChat(params);
// to send message I am using sendMessage function 
// message object is same as defined above.
chatService.sendMessage(recipientID, message);

【问题讨论】:

【参考方案1】:

这是一种陈旧且不推荐使用的存储聊天记录的方法

看看这个指南http://quickblox.com/developers/Chat#Server-side_chat_history

  var msg = 
    body: "Hey",
    extension: 
      save_to_history: 1
    ,
    senderId: currentUser.id, 
  ;

您必须使用“save_to_history”来存储消息

您可以使用此分支作为基础 https://github.com/QuickBlox/quickblox-javascript-sdk/tree/develop.chat/samples/chat

【讨论】:

谢谢,我发现你的答案对于遇到同样问题的人来说是正确的解决方案。

以上是关于Quickblox 一对一聊天记录不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Quickblox 位置示例不起作用

Quickblox颤振自定义对象更新不起作用

quickblox 推送通知在生产模式下不起作用

Quickblox“离线用户的自动推送通知”不起作用

使用 QuickBlox Sdk 进行 VOIP 呼叫时通知不起作用

Quickblox:基于带有“+”字符的字段值获取自定义对象似乎不起作用?怎么修?