使用 twilio-ruby 包连接到 Twilio 的 IP 消息服务的 REST API 并尝试计算未读消息计数。
REST API 正在对消息进行分页,以便类似
channel.messages.list.last.index
一旦频道中的消息超过 50 条,将返回 49。
有没有办法只获取频道上的最后一条消息(在 android/ios SDK 中似乎有可能)以避免对所有消息历史进行分页?
使用 twilio-ruby 包连接到 Twilio 的 IP 消息服务的 REST API 并尝试计算未读消息计数。
REST API 正在对消息进行分页,以便类似
channel.messages.list.last.index
一旦频道中的消息超过 50 条,将返回 49。
有没有办法只获取频道上的最后一条消息(在 android/ios SDK 中似乎有可能)以避免对所有消息历史进行分页?
关于计算未读消息计数,请查看Message Consumption HorizonlastConsumedMessageIndex
并从列表中的消息总数中减去- 1。
对于消息列表(在 Python 中):
https://www.twilio.com/docs/api/ip-messaging/rest/messages#list-all-messages
# Download the Python helper library from twilio.com/docs/python/install
from twilio.rest.ip_messaging import TwilioIpMessagingClient
# Your Account Sid and Auth Token from twilio.com/user/account
account = "ACCOUNT_SID"
token = "AUTH_TOKEN"
client = TwilioIpMessagingClient(account, token)
service = client.services.get(sid="SERVICE_SID")
channel = service.channels.get(sid="CHANNEL_ID")
messages = channel.messages.list()
另请参阅发送消耗报告(JavaScript 中的示例):
//determine the newest message index
var newestMessageIndex = activeChannel.messages.length ?
activeChannel.messages[activeChannel.messages.length-1].index : 0;
//check if we we need to set the consumption horizon
if (activeChannel.lastConsumedMessageIndex !== newestMessageIndex) {
activeChannel.updateLastConsumedMessageIndex(newestMessageIndex);
}