我想知道在使用Twilio Video时有多少人目前正在连接房间。
Twilio有一个REST API来获取房间资源,但它不会返回当前的参与者数量。
https://www.twilio.com/docs/api/video/rooms-resource#get-by-sid
我看到的唯一方法是订阅状态回调到“参与者连接”和断开连接的事件,并手动跟踪有多少参与者连接或离开房间。
有一个更好的方法吗 ?
Twilio开发者传道者在这里。
根据参与者连接和断开事件保持服务器端参与者身份列表可能是目前解决这个问题的最佳方法。
一种替代方法是从前端获取此信息。 JavaScript库允许您查询the participants
in a room
。您可以定期或基于事件查询该属性并通过Ajax将其发送到您的服务器。
如果有帮助,请告诉我。
更新
连接到房间的Rooms API now allows you to retrieve information on participants。例如,要使用Node.js获取房间中当前连接的用户,代码将如下所示:
var client = new Twilio(apiKeySid, apiKeySecret, {accountSid: accountSid});
client.video.rooms(roomSid).participants
.list({status: 'connected'}, (err, participants) => {
if (err) { console.error(err); return; }
console.log(participants.length);
});