您好,我正在 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)
}
}