如何获取PubNub的单个未读消息数?

How to get the number of individual unread messages of PubNub?

我正在使用 pubnub 服务向我的应用程序添加聊天功能,但我想知道是否有办法获取未读消息的个人数量。我正在使用这个 link -> https://www.pubnub.com/docs/swift/data-streams-publish-and-subscribe

这可以使用 PubNub Functions 来完成。函数是您自己的脚本,当在一个或多个 PubNub 频道上发布消息时,这些脚本会自动 运行 在云中。

它有一个具有 incrementdecrementretrieve 功能的键值存储。这可以非常直观地用于 PubNub 上的未读消息模式。

频道:房间。*

事件: 发布前

// Access to Distributed Database
const db = require('kvstore');
export default (request) => { 
    // Conventionally build the Key ID based on the request parameters and channel name.
    let counterId = request.channels[0] + '/' + request.params.uuid;
    // Increment or Decrement the unread message counter
    let method = request.message.read ? -1 : 1;
    // Increment/Decrement and read the unread message counter
    return db.incrCounter( counterId,  method ).then(()=>{
        return db.getCounter(counterId).then((counter) => {
            request.message.unread = counter || 0;
            return request.ok();
        });
    });
}

按照此 official guide 您可以将此新功能集成到现有应用程序中。