我正在为我的聊天应用程序使用 pusher chatkit。目前我的应用程序能够与每个人聊天,但我的问题是,如果我(user1)正在与 user2 聊天,并且在 user3 之间从他的帐户给我发短信,那么我如何显示 user3 向我发送 4 条消息的徽章。
是否有任何解决方案或示例代码来实现此功能。
我正在为我的聊天应用程序使用 pusher chatkit。目前我的应用程序能够与每个人聊天,但我的问题是,如果我(user1)正在与 user2 聊天,并且在 user3 之间从他的帐户给我发短信,那么我如何显示 user3 向我发送 4 条消息的徽章。
是否有任何解决方案或示例代码来实现此功能。
您可以使用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}`)
});