如何获取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 频道上发布消息时,这些脚本会自动 运行 在云中。
它有一个具有 increment
、decrement
和 retrieve
功能的键值存储。这可以非常直观地用于 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 您可以将此新功能集成到现有应用程序中。
我正在使用 pubnub 服务向我的应用程序添加聊天功能,但我想知道是否有办法获取未读消息的个人数量。我正在使用这个 link -> https://www.pubnub.com/docs/swift/data-streams-publish-and-subscribe
这可以使用 PubNub Functions 来完成。函数是您自己的脚本,当在一个或多个 PubNub 频道上发布消息时,这些脚本会自动 运行 在云中。
它有一个具有 increment
、decrement
和 retrieve
功能的键值存储。这可以非常直观地用于 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 您可以将此新功能集成到现有应用程序中。