Open channel overview
Open channels support high-concurrency messaging for use cases such as live streaming, communities, games, social discovery, and interest-based discussions. There is no limit on the number of open channels per App Key, and no limit on the number of participants in a single open channel.
Service configuration
Some open channel features can be configured on the Chat settings page in the Nexconn Console. See Open channel service configuration for details.
Auto-destroy mechanism
Open channels have a built-in auto-destroy mechanism. By default, an open channel is automatically destroyed after being inactive (no participant joins/leaves and no new messages) for 1 hour. You can change the inactivity duration or configure scheduled auto-destroy instead.
For full details on how auto-destroy works and how to configure it, see Open channel auto-destroy mechanism.
Offline participant auto-exit
Open channels automatically remove offline participants. After a user goes offline, the server automatically removes them from the open channel under these default conditions:
- Within 30 seconds of going offline, the 31st message in the open channel triggers the removal.
- After 30 seconds offline, the next new message in the open channel triggers the removal.
- Both conditions require new messages in the open channel. Without new messages, offline users are not removed.
- To remove the dependency on new messages, submit a support ticket to enable Real-time removal of disconnected participants. When enabled, the server uses SDK behavior to detect abnormal user states and removes them within 5 minutes.
- To protect specific users from auto-removal (for example, users who should persist in the open channel), use the Priority senders feature.
Messaging capabilities
- Open channels do not support offline message push. Only online participants receive messages.
- Local messages are deleted when a user leaves the open channel.
API overview
Open channel relationships are managed by the server. The client SDK provides join and leave operations. Most management features require the Platform Chat API. The table below summarizes key capabilities.
| Feature | Description | API |
|---|---|---|
| Create | Create an open channel with optional auto-destroy type, freeze settings, and metadata. | Create an open channel |
| Destroy | Manually destroy an open channel. | Destroy an open channel |
| Join | Join an open channel. | Client SDK only |
| Leave | Online users leave voluntarily. Offline users are removed automatically. | Client SDK only |
| Get info | Query basic info: ID, creation time, participant count, auto-destroy type, etc. | Get open channel info |
| Open channel metadata | Set custom key-value attributes for use cases like voice chat seat management or game state tracking. | Set metadata |
| Ban participants | Ban users from joining a specific open channel. Banned users are removed and cannot rejoin during the ban period. | Ban a participant |
| Priority senders | Protect important users in an open channel. Their messages are not dropped under heavy load, and they are not auto-removed. | Priority senders and messages |
| Mute a participant | Mute one or more participants in a specific open channel. Muted users can read messages but cannot send them. | Mute a participant |
| Freeze | Freeze an entire open channel. All participants are prevented from sending messages via the client SDK. | Freeze an open channel |
| Allowed senders list | Allow specific participants to send messages even when the open channel is frozen. | Allowed senders list |
| Mute globally | Mute a user across all open channels in the app. | Mute a user globally |