消息已读未读 - GoEasy IM

开发者可以通过本功能轻松实现:

  1. 将收到的消息标记为已读状态,详情见本页后文
  2. 实时监听来自对方的消息已读回执,详情见本页后文
  3. 查询或监听会话列表时,获取未读消息数
  4. 获取历史中每条消息的已读状态

前置条件

  • GoEasy版本2.3 +

将消息标记为已读

对于收到且已读的消息,请务必将其标记为已读状态,否则未读消息数将始终保持,并且在下次连接GoEasy时,会再次收到之前未标记的消息。

执行本方法后,会触发会话列表更新事件,未读消息数将随之减少,同时发送方将收到消息已读回执。

将私聊记为已读


    im.markPrivateMessageAsRead({
        userId:'user-001',  //聊天对象的userId
        onSuccess: function () { //标记成功
            console.log("Marked as read successfully."); 
        },
        onFailed: function (error) { //标记失败
            console.log("Failed to mark as read, code:" + error.code + " content:" + error.content);
        }   
    });

将群聊标记为已读

    im.markGroupMessageAsRead({
        groupId:'group-001',
        onSuccess: function () {//标记成功
            console.log("Marked as read successfully."); 
        },
        onFailed: function (error) { //标记失败
            console.log("Failed to mark as read, code:" + error.code + " content:" + error.content);
        }
    })

监听消息已读回执

当消息接收方执行“标记已读”后,发送方将会收到消息已读回执, 对于使用vue,uniapp等支持双向绑定的web框架时,消息已读状态会自动更新,无需监听该事件。

暂时不支持群聊消息显示已读未读状态,将于后期版本提供,敬请期待。

监听私聊消息已读回执

      let onMessageRead = function(messages) {
          //文字消息
          // [{
          //     "messageId": "8f0e27a0c7e111eab347b726da4416bd",
          //     "timestamp": 1594958217087,
          //     "type": "text",
          //     "senderId": "3bb179af-bcc5-4fe0-9dac-c05688484649",
          //     "payload": {
          //         "text": "Hello, GoEasyIM"
          //     },
          //     "read":true,
          //     "receiverId": "fdee46b0-4b01-4590-bdba-6586d7617f95"
          // }]
          console.log("Read messages:" + JSON.stringify(messages));
      };
      //监听和接收单聊消息
      im.on(GoEasy.IM_EVENT.MESSAGE_READ, onMessageRead);

results matching ""

    No results matching ""