Result Paging in Chat Client SDKs
We intend to sunset the Programmable Chat API on July 25, 2022 to focus on the next generation of chat: the Twilio Conversations API. Learn more. We have also prepared this Migration Guide to assist in the transition from Chat to Conversations.
Twilio’s Programmable Chat client SDKs use paging to improve performance when accessing potentially large collections of chat objects.
Paginators
Public Channels, User Channels, and the Members list for each channel are exposed through Paginators. In JavaScript, Messages are also paged using Paginators. When requesting an initial set of any of these entities, your provided callback mechanism will receive a result indicating the success or failure of the operation as well as a paginator to access the items.
While the signature of the individual methods will vary by SDK platform, each paginator has the following accessors:
- A way to obtain the items.
- A boolean property indicating if there are subsequent pages.
- A method taking the same callback mechanism as the original call to request the next page.
Messages (Android, iOS)
The messages collection behaves a bit differently than channels and members since there is a temporal quality to how the objects are typically presented.
The messages collection objects offer the following ways to access items:
getLastMessages
fetches the specified number of messages, starting with the most recent in the collection.getMessagesBefore
fetches messages before (and including) the anchor message index specified.getMessagesAfter
fetches messages after (and including) the anchor message index specified.messageWithConsumptionIndex
fetches the message with the specified index or, if that message is no longer available, the message directly before it.messageWithIndex
fetches the message specified by the index, if available.
Next: Roles and Permissions
Need some help?
We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd browsing the Twilio tag on Stack Overflow.