如何获取未使用的消息计数



您好,我正在 android 上集成 Twilio,我需要显示未使用的消息计数,频道名称如下是我的代码片段,但每次我得到计数零(0) 请帮助我

channel.getUnconsumedMessagesCount(new CallbackListener<Long>() {
@Override
public void onSuccess(Long aLong) {
    unreadCountTextView.setText(String.valueOf(aLong));
}
    });

Twilio开发者布道者在这里。

看起来您可能需要在频道上设置消费范围 - 聊天不会自动为您执行此操作。从 Consumption Horizon 上的文档中,"如果用户没有在频道上设置消费范围,则获取未使用的消息将始终返回 0。

根据新的 Twilio 对话 API,进度侦听器现在已经消失了,因此您可以通过以下方式计算计数:

如果您只有一个频道或多个频道,则此代码将起作用,因此,它将返回所有对话未使用的消息的计数。

科特林:

lifecycleScope.launch {
      val messageChannel = Channel<Int>()
      val allChannels = (get my conversation from conversationClient)
      allChannels?.let { item ->
              item.forEach { channel ->
                   // Get unconsummed message count
                   channel.getUnreadMessagesCount { count ->
                        count?.let { no ->
                              launch {messageChannel.send(no.toInt())}
                        }
                   }
               }
       
                //Observe channel to assure that above callbacks returned data
                var msgsCount = 0
                val messageReceive = launch {
                         repeat(item.size) {
                               msgsCount += messageChannel.receive()
                         }
                }
                messageReceive.join()
     
                log.i("Total message count", msgsCount) 
      }
 }

最新更新