【问题标题】:What is the best way to get unread messages count for each channel in Twilio using android?使用android获取Twilio中每个频道的未读消息计数的最佳方法是什么?
【发布时间】:2017-11-22 12:34:56
【问题描述】:

我正在尝试获取用户每个频道的未读消息计数。

参考Twilio Doc For getting unread count后,我发现如果频道数很大,这是一种非常复杂的获取每个频道的消息的方法。

我的问题是,这是在 Twilio 中获取未读消息计数的唯一方法,因为一个通道需要一些时间来初始化。并返回未读计数。

【问题讨论】:

    标签: android twilio twilio-programmable-chat


    【解决方案1】:

    这里是 Twilio 开发者宣传员。

    当您列出用户加入的频道时,您会得到一个ChannelDescriptors 的列表。在这个阶段,您可以使用getUnconsumedMessagesCount方法查询每个ChannelDescriptor的未读消息数。

    ChannelDescriptors 不会实时更新,因此您需要注册以侦听传入消息并在此之后自行更新计数。

    希望对您有所帮助。

    【讨论】:

    • 我使用 ChannelDescriptor 获取频道,然后调用 getUnconsumedMessagesCount 但在 iOS SDK 中的块结果中仍然得到 0 个计数
    • 如果您认为这是一个错误,那么我建议您与Twilio support 联系,并尽可能详细地向他们提供有关此问题的信息。
    • 您好,关于此的任何更新都已过时。 Channel下有这个方法,但是总是返回null。
    • 嗨@KasparTr,该方法返回void,因为您需要将CallbackListener 作为参数传递给getUnconsumedMessagesCount。将使用方法的结果调用回调。在此处查看最新文档:media.twiliocdn.com/sdk/android/chat/releases/6.1.0/docs/…。此外,还有一个注释:“如果尚未为当前用户设置最后一个消费索引作为此频道的成员,则未消费消息计数被视为未初始化。在这种情况下返回 null。”
    • @philnash 感谢您的参考!将审查,但我真的在寻找一种更简单的方法 - 只是为了确定用户是否有新消息(不计入数)。请查看完整问题:stackoverflow.com/questions/63255527/….
    【解决方案2】:

    https://www.twilio.com/docs/chat/consumption-horizon

    此链接可能会有所帮助。

    注意:聊天不会自动设置消费范围。如果您未在应用程序中明确设置此选项,则通道内的用户将不存在消费范围。如果没有消耗范围,您的用户的消耗范围(读取状态)将无法在客户端之间正确同步。如果用户没有在通道上设置消费范围,则获取未消费的消息将始终返回 0。如果通道的成员没有消费状态,则他们的最后消费索引和时间戳将为空或 0,具体取决于平台。

    【讨论】:

    • 如何使用 Swift API 设置消费范围?我找不到这样做的方法,因此当我询问未读消息的数量时它返回 0
    猜你喜欢
    • 1970-01-01
    • 2019-09-20
    • 2017-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-03
    • 2020-02-25
    • 1970-01-01
    相关资源
    最近更新 更多