如何使用推送数据显示徽章

How to show badges using pusher data

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

是否有解决方案或示例代码可以实现此功能。

您可以使用 unreadCount 房间 属性 获取消息的未读计数。 a tutorial 显示了如何获取未读计数和管理游标。 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}`)
});