Occupancy
Occupancy enables you to view the number of users currently online in a room. This feature can be used to display user counts to highlight popular, or trending chat rooms.
Subscribe to room occupancy
Subscribe to a room’s occupancy by registering a listener. Occupancy events are emitted whenever the number of online users within a room changes. Use the occupancy.subscribe()
method in a room to receive updates:
const {unsubscribe} = room.occupancy.subscribe((event) => {
console.log(event);
});
CopyCopied!
Occupancy event structure
The following is the structure of an occupancy event:
{
"connections": 103;
"presenceMembers": 95;
}
CopyCopied!
The following are the properties of an occupancy event:
Property | Description | Type |
---|---|---|
connections | The number of connections in the room. | Number |
presenceMembers | The number of users entered into the presence set of the room. | Number |
Unsubscribe from room occupancy to remove previously registered listeners.
Use the unsubscribe()
function returned in the subscribe()
response to remove a listener:
// Initial subscription
const { unsubscribe } = room.occupancy.subscribe((event) => {
console.log(event);
});
// To remove the listener
unsubscribe();
CopyCopied!
Use the occupancy.unsubscribeAll()
method to remove all occupancy listeners in a room:
await room.occupancy.unsubscribeAll();
CopyCopied!
Retrieve room occupancy
The occupancy of a room can be retrieved in one-off calls instead of subscribing to updates.
Use the occupancy.get()
method to retrieve the occupancy of a room:
const occupancy = await room.occupancy.get();
CopyCopied!
The following is the structure of an occupancy event:
{
"connections": 103;
"presenceMembers": 95;
}
CopyCopied!
The following are the properties of an occupancy event:
Property | Description | Type |
---|---|---|
connections | The number of connections in the room. | Number |
presenceMembers | The number of users entered into the presence set of the room. | Number |