【问题标题】:How to get Unconsumed message count如何获取未使用的消息数
【发布时间】:2019-01-10 13:15:12
【问题描述】:

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

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

【问题讨论】:

    标签: android twilio twilio-programmable-chat


    【解决方案1】:

    这里是 Twilio 开发者宣传员。

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

    【讨论】:

    • 感谢您的回复,我已经阅读了相同的文档,我可以看到消费范围为 10sec(默认)值。我已经检查了所有选项 REACHABILITY ENABLED, MESSAGE READ STATUS, CONSUMPTION REPORT TIMEOUT 为 10,但是当发送者在接收者端发送消息时,通道列表会根据最后一条消息自动更新到受尊重的通道,但每次我得到未使用的消息为零(0)
    • 在从发送方发送消息时,是否有其他方法可以设置未使用的消息范围,以便接收方获得未使用的消息计数
    • 您需要在接收方实际设置地平线,您可以先在用户加入频道时在频道上设置setNoMessagesConsumed(),然后在他们滚动消息进入视图时更新。 10 秒的值是发送消费范围更新批次的频率,但您必须自己排队更新。
    【解决方案2】:

    根据新的 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) 
          }
     }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-31
      • 1970-01-01
      • 2012-04-06
      相关资源
      最近更新 更多