Core concepts
Agora’s Signaling SDK enables real-time metadata synchronization and low-latency event notifications between edge devices, servers and channel attributes in your apps.
This article introduces the key processes and concepts you need to know to use the Signaling SDK.
Using the Agora Console
Agora Console is the main dashboard where you manage your Agora projects and services. Before you can use Agora's SDKs, you must first create a project in the Agora Console. See Agora account management for details.
Agora Console
Agora Console provides an intuitive interface for developers to query and manage their Agora account. After registering an Agora Account, you use the Agora Console to perform the following tasks:
- Manage the account
- Create and configure Agora projects and services
- Get an App ID
- Manage members and roles
- Check call quality and usage
- Check bills and make payments
- Access product resources
Agora also provides RESTful APIs that you use to implement features such as creating a project and fetching usage numbers programmatically.
Agora Account Management
See Agora account management for details on how to manage all aspects of your Agora account.
General concepts
Agora uses the following basic concepts:
App ID
The App ID is a unique key generated by Agora's platform to identify each project. Each project in your account is assigned its own unique App ID. The App ID is critical for connecting users within your app. It's used to initialize the Agora Engine in your app, and as one of the required keys to create authentication tokens for secure communication. Retrieve your App ID using the Agora Console.
Agora uses the App ID to identify each app and provide billing and other statistical data services.
App IDs are stored on the front-end client and do not provide access control. Projects using only an App ID allow any user with the App ID to join voice and video streams.
For applications requiring access controls, such as those in production environments, choose an App ID + Token mechanism for user authentication when creating a new project. Without an authentication token, your environment is open to anyone with your App ID.
App Certificate
An App Certificate is a unique key generated by the Agora Console to secure projects through token authentication. It is required, along with the App ID, to generate a token that proves authorization between your systems and Agora's network. App Certificates are used to generate Video SDK or Signaling authentication tokens.
App Certificates should be stored securely in your backend systems. If your App Certificate is compromised or to meet security compliance requirements, you can invalidate certificates and create new ones through the Agora Console.
Tokens
A token is a dynamic key generated using the App ID, App Certificate, user ID, and expiration timestamp. Tokens authenticate and secure access to Agora's services, ensuring only authorized users can join a channel and participate in real-time communication.
Tokens are generated on your server and passed to the client for use in the Video SDK or Signaling. The token generation process involves digitally signing the App ID, App Certificate, user ID, and expiration timestamp using a specific algorithm, preventing tampering or forgery.
For testing and during development, use the Agora Console to generate temporary tokens. For production environments, implement a token server as part of your security infrastructure to control access to your channels.
For information on setting up a token server for generating and managing tokens, refer to the guide on Secure authentication with tokens.
Channel
In Agora's platform, a channel is a way of grouping users together and is identified by a unique channel name. Users who connect to the same channel can communicate with each other. A channel is created when the first user joins and ceases to exist when the last user leaves.
In Signaling, channels serve as a data transfer management mechanism for passing data between devices. Clients can subscribe to or join multiple channels simultaneously.
Signaling supports the following channel types:
Channel Type | Main Features | Applicable Scenarios |
---|---|---|
Message | Follows the industry-standard pub/sub model. Channels do not need to be created in advance, and there is no upper limit on the number of publishers and subscribers in a channel. | Multi-device management and command exchange in the IoT industry, location tracking in smart devices, etc. |
Stream | Follows the chat room model. Users need to join the channel to send and receive event notifications. Messages are managed and delivered through topics, and a single channel allows up to 1,000 users to join simultaneously. Supports channel sharing and synchronous transmission of audio and video data. | High-frequency and large concurrent data transmission or co-channel and synchronous transmission with audio and video data, such as in metaverse and cloud gaming applications. |
User ID
In Signaling, the UID is a string that is a unique identifier and required along with an App ID to initialize the SDK. It is used to identify the user when logging in to Signaling and throughout their session. Users can join channels by providing just the channel name, as the UID is already associated with the user during initialization.
The same UID cannot log in to Agora SD-RTN™ from multiple devices at the same time. If apps with the same UID logs in to Agora SD-RTN™, the app previously logged in client is disconnected and sent an event notification.
The UID is used for billing and online status notifications.
Agora SD-RTN™
Agora's core engagement services are powered by its Software-Defined Real-time Network (SD-RTN™), which is accessible and available anytime, anywhere around the world. Unlike traditional networks, the software-defined network is not confined by device, phone numbers, or a telecommunication provider's coverage area. Agora SD-RTN™ has data centers globally, covering over 200 countries and regions. The network delivers sub-second latency and high availability of real-time video and audio anywhere on the globe. With Agora SD-RTN™, Agora can deliver live user engagement experiences in the form of real-time communication (RTC) with the following advantages:
- Unmatched quality of service
- High availability and accessibility
- True scalability
- Low cost