1

我正在为我的聊天应用程序使用 pusher chatkit。目前我的应用程序能够与每个人聊天,但我的问题是,如果我(user1)正在与 user2 聊天,并且在 user3 之间从他的帐户给我发短信,那么我如何显示 user3 向我发送 4 条消息的徽章。

是否有任何解决方案或示例代码来实现此功能。

4

1 回答 1

1

您可以使用unreadCount房间属性获取消息的未读计数。有一个教程展示了如何获取未读计数和管理游标。Chatkit 的 JS 文档包含一些用于管理未读计数的代码片段: https ://pusher.com/docs/chatkit/reference/javascript 。

例如,以下将记录用户加入房间时的未读计数,并在每次收到消息时设置用户的光标。

currentUser.subscribeToRoomMultipart({
  roomId: this.currentRoom,
  messageLimit: 100,
  hooks: {
    //Message is received
    onMessage: message => {
      this.lastMessage = message.id;
      //set cursor
        currentUser.setReadCursor({
        roomId: this.currentRoom,
        position: this.lastMessage
      })
      .then(() => {
        console.log(`Set cursor to message ${this.lastMessage}`)
      })
      .catch(err => {
        console.log(`Error setting cursor: ${err}`)
      })
    }
  },

}).then(room => {
  //log unread count
  console.log(`Unread count: ${room.unreadCount}`)
});
于 2020-02-21T15:04:07.813 回答