【发布时间】:2017-11-22 12:34:56
【问题描述】:
我正在尝试获取用户每个频道的未读消息计数。
参考Twilio Doc For getting unread count后,我发现如果频道数很大,这是一种非常复杂的获取每个频道的消息的方法。
我的问题是,这是在 Twilio 中获取未读消息计数的唯一方法,因为一个通道需要一些时间来初始化。并返回未读计数。
【问题讨论】:
标签: android twilio twilio-programmable-chat
我正在尝试获取用户每个频道的未读消息计数。
参考Twilio Doc For getting unread count后,我发现如果频道数很大,这是一种非常复杂的获取每个频道的消息的方法。
我的问题是,这是在 Twilio 中获取未读消息计数的唯一方法,因为一个通道需要一些时间来初始化。并返回未读计数。
【问题讨论】:
标签: android twilio twilio-programmable-chat
这里是 Twilio 开发者宣传员。
当您列出用户加入的频道时,您会得到一个ChannelDescriptors 的列表。在这个阶段,您可以使用getUnconsumedMessagesCount方法查询每个ChannelDescriptor的未读消息数。
ChannelDescriptors 不会实时更新,因此您需要注册以侦听传入消息并在此之后自行更新计数。
希望对您有所帮助。
【讨论】:
void,因为您需要将CallbackListener 作为参数传递给getUnconsumedMessagesCount。将使用方法的结果调用回调。在此处查看最新文档:media.twiliocdn.com/sdk/android/chat/releases/6.1.0/docs/…。此外,还有一个注释:“如果尚未为当前用户设置最后一个消费索引作为此频道的成员,则未消费消息计数被视为未初始化。在这种情况下返回 null。”
https://www.twilio.com/docs/chat/consumption-horizon
此链接可能会有所帮助。
注意:聊天不会自动设置消费范围。如果您未在应用程序中明确设置此选项,则通道内的用户将不存在消费范围。如果没有消耗范围,您的用户的消耗范围(读取状态)将无法在客户端之间正确同步。如果用户没有在通道上设置消费范围,则获取未消费的消息将始终返回 0。如果通道的成员没有消费状态,则他们的最后消费索引和时间戳将为空或 0,具体取决于平台。
【讨论】: