In addition to the Voice and Video SDKs that are integrated on app clients, Agora provides server-side APIs for managing RTC (Real-time Communication) channels. These APIs include:
- Channel management RESTful APIs: Allows your app server to send HTTPS requests to the Agora server to manage users in the channel and query channel information.
- Channel event callbacks: Enables the Agora server to send message notifications as HTTPS POST requests to your server when the Agora Notification Center Service (NCS) is enabled and your subscribed event occurs. You can use the callbacks to monitor the channel status in real time.
Introduction
Agora Channel Management supports the following functions:
Function |
Description |
User privileges management |
By calling the Banning user privileges RESTful APIs, you can manage the privileges of users, including:- Remove a user from a channel or prohibit a user from joining a channel.
- Prohibit a user from publishing audio streams.
- Prohibit a user from publishing video streams.
|
Online channel statistics query |
By calling the Online channel statistics query RESTful APIs, you can get the lists of online channels, user lists in the channels, and the status of a specific user. |
Channel event callback |
By enabling the Agora Notification Center Service, you can receive subscribed channel event callbacks, which notify the channel status and the status of users in the channel. |
Applications
Agora Channel Management can be used in the following scenarios:
Function |
Feature |
Scenario |
User privileges management |
- Easy to integrate
- Safe and reliable
- QPS limits
|
Scenarios where you need to manage user privileges on business server, for example:- Unauthenticated users attend the live broadcast.
- Unauthorized users cause disruptions in the live broadcast.
- Signaling messages sent to the client are hijacked.
- The user list cannot be updated in real time as users go offline abnormally.
|
Online channel statistics query |
- Easy to integrate
- Safe and reliable
- QPS limits
|
- In scenarios where the channel concurrency is not high, you can directly query the channel list under your project to synchronize the channel status.
- In scenarios where excellent synchronization in real-time is not required, you can query and synchronize the user list and status of users in the channel.
|
Channel event callback |
- Low latency
- High concurrency
- Stable and reliable
|
In scenarios where high concurrency is required, you can maintain a channel state machine that can achieve synchronization in real-time in the business layer through channel event callbacks:- Listens for events of creating or destroying channels in real time, and establishes a channel list under your current project.
- Listens for events of remote users joining or leaving the channel in real time, and establishes a list of users in the channel.
- Listens for events of a user switching the user role in the Live Broadcast profile, and establishes a list of users (hosts) that have streaming permissions.
|
You can use both the Channel management RESTful APIs and listen for channel event callbacks to achieve stable, reliable, real-time, and effective channel management and status synchronization according to your needs.
Reference