0

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

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

2 回答 2

2

Twilio 开发人员布道者在这里。

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

于 2019-01-10T18:40:12.110 回答
0

根据新的 Twilio Conversation 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) 
      }
 }
于 2022-02-23T09:06:57.513 回答