Chat rooms enable real-time messaging among multiple users. Chat rooms do not have a strict membership and members do not have any relationship with each other. Once a chat room member exits the chat room, this member does not receive any push message from the chat room, and within 5 minutes, automatically leaves the chat room. Chat rooms are widely applied in live broadcast use cases as stream chat in Twitch.
Chat rooms have the following roles and privileges:
Both chat group and chat room support instant messaging among multiple users. The major difference lies in whether mmebers have a stable relationship. Chat group members tend to remain for a long time, whereas chat room members join and leave freely.
The following table shows the feature comparisons between a chat group and a chat room:
|Feature||Chat group||Chat room|
|Use cases||Group chat scenarios in Signal and Skype, where all members have a stable relationship.||Stream chat scenarios in Twitch, where viewers have no relationship with each other. Once a member quits the stream chat channel, this member leaves the chat room.|
|Maximum number of members||5,000||20,000 and more|
|Message push support||Members receive push messages when they go offline.||Members do not receive push messages when they go offline.|
|Message storage support||Supports message storage when a member is offline. Once online, this member receives all the stored messages. A maximum number of 200 messages can be stored for each group chat thread.||This feature can be enabled and disabled. If you enable this feature, the SDK supports message storage when a member is offline. Once online, this member receives all the stored messages. By default, 10 messages can be stored for each chat room thread, and you can set this number to a maximum value of 200.|
|Message reliablity||All members can receive all the messages in the chat group.||When message overload occurs, the SDK discards the messages based on the threshold, which is 100 messages per second. You can adjust this threshold according to your needs.|
The Agora Chat SDK supports creating and managing chat rooms, managing chat room members, and modifying chat room attributes.
You can implement the following features with the chat room APIs:
Only the chat room super admin can create a chat room, and the user that creates the chat room becomes the chat room owner. The maximum number of chat room member supported vary according to the pricing plan. For details, see Limitations of chat room.
All the chat users can join and leave the chat rooms freely.
Only the chat room owner can disband the chat room.
All the chat users can retrieve the chat room list from the server with pagination.
All the chat room members can retrieve the chat room attributes including the chat room name and descriptions.
Only the chat room owner has the privilege to modify the chat room name.
Only the chat room owner has the privilege to edit and delete the chat room notification. Once the notification is updated, all the chat room member is informed of this update by callback events.
The chat room owner can transfer the ownership to the specified chat room member.
The chat room owner can add and remove the chat room admin.
The chat room owner or admin can mute the specified chat room member.
The chat room owner or admin can mute all the chat room members. By default, the chat room owner and admin are excluded from the chat room mute list.
The chat room owner or admin can add the specified members to the chat room allow list, and remove them from the list. Once added to the chat room allow list, the members can send messages to the chat room even when the chat room owner or admin has muted all the chat room members.
The chat room owner or admin can add the specified members to the chat room block list, and remove them from the list. Once added to the chat room block list, the members cannot send or receive chat group messages, nor can they join the chat room again.
The maximum number of chat room members, the total number of chat rooms you can create, and the maximum number of chat rooms a user can join vary according to your pricing plan.
|Pricing plan||Number of chat room members||Number of chat rooms you can create||Number of chat rooms a user can join|
|Enterprise||20,000 and more||100,000||10,000|