Это можно сделать, используя Функции PubNub . Функции - это ваши собственные сценарии, которые автоматически запускаются в облаке при публикации сообщения на одном или нескольких каналах 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();
});
});
}
Следуя этому официальному руководству , вы можете интегрировать эту новую функциональность в существующее приложение.