javascript - Twilio 聊天 API,getUnconsumedMessagesCount 始终为 0

标签 javascript angular twilio twilio-api

我正在尝试获取特定 channel 中特定成员的未读消息数。为此,我希望使用 documentation 中定义的 channel.getUnconsumedMessagesCount() .

myChannel.join()
  .then(function(c) {
    console.log('Joined channel ' + c.sid);
    return myChannel.getUnconsumedMessagesCount();
  })
  .then(m => {
    console.log('current count unread: ' + m);
  });

未读计数始终返回 0。为了测试,我执行以下操作:

  1. 用户 2 在另一个 chrome 选项卡中向 myChannel 提交消息
  2. 用户 2 myChannel 更新了来自 (1) 的消息 .on('messageAdded', [...])
  3. 刷新用户 1 的 chrome 选项卡,并使用 getUnconsumedMessagesCount 0的值(value)
  4. 如果我为用户 1 调用 myChannel.getMessages(),我会看到来自用户 2 的消息

最初我调用了 .getUnconsumedMessagesCount() 而没有先执行 join(),我认为这可能是问题所在,但即使加入仍然没有。

最佳答案

在获得未使用的消息计数之前,您需要手动设置上次阅读的消息 ( Send a Consumption Report )

像这样的 (JS)

 channel.getMessages(1).then(function (messages) {
    var last_message_index = messages.items[0].index;
    channel.updateLastConsumedMessageIndex(last_message_index);
 });

关于javascript - Twilio 聊天 API,getUnconsumedMessagesCount 始终为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41918632/

相关文章:

javascript - 如何将某些样式应用于 Angular Material 表中的表行

Twilio 加入 Google Hangouts 电话 session

javascript - AngularJS 工厂返回类型未定义

css - 如何使用 mat-chips/angular material2 的 ngFor 使 div 中的 flexbox 具有 2 列?

javascript - Strope.js 带内注册

javascript - 如何在 Angular 中设置动态填充的字符串(插入的字符串)的样式?

ios - Twilio videoView 委托(delegate)未调用

twilio - 如何使用 twilio API 发送批量短信

javascript - Bootstrap 选项卡式导航故障

javascript - 如何使用正则表达式(JS)查找html的每个 <a href ="">