Twilio SWIFT API get consumed messages always returns 0

丶灬走出姿态 提交于 2019-12-13 03:56:53

问题


I want to display next to a chat channel the number of messages a channel has that have been unconsumed or unread (I assume this is what unconsumed means?)

Currently I send messages to a channel that two users are subscribed to , a private chat. Then before opening up the chat window I check the channel for unconsumed messages, but it always say 0 messages even if I call setNoMessagesConsumedWithCompletion.

I am using the Swift API...What do I need to do to find out how many messages in my channel have not been read yet? At what point do they become read? (when the user opens up a chat channel and requests to getLastWithCount?)

I read in the docs you have to set something called the consumption horizon to get unconsumed message, but I don't know how you do that in SWIFT API https://www.twilio.com/docs/chat/consumption-horizon also this was for Javascript API so perhaps it is easier with Swift Api?


回答1:


I figured out the solution. As per the documentation you need to update the last consumed message index. So for example if the user has a chat window open you need to record for that user (or instance of the Chat Client) what was the last message they saw before they close their chat. I am storing all the messages in a message array and update the last consumed message index with the length of the array of messages:

generalChannel?.messages?.setLastConsumedMessageIndex(NSNumber.init(value: self.messages.count), completion: { (result, count) in
        if !result.isSuccessful() {
            print(result.error.debugDescription)
        }
    })

Then if you send messages to that channel when the user is not in the channel these will be recorded as unconsumed, you can get the number by calling:

channel.getUnconsumedMessagesCount(completion: { (results, numberUnconsumed) in
                        print(numberUnconsumed)
                    })


来源:https://stackoverflow.com/questions/51919861/twilio-swift-api-get-consumed-messages-always-returns-0

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!