Implement in-app chat rooms, notifications, call signaling and more
Whether you’re sending text messages between people in chat rooms or notifications between apps and devices, Agora’s Real-Time Messaging uses our intelligent SD-RTN™ network to ensure that the data is transmitted reliably and efficiently with high concurrency—supporting up to one million channel messages simultaneously.
Please select use case:
Offer one-on-one or group messaging.
Real-time text chat is extremely popular and a great addition to any app. With Agora’s Real-Time Messaging, you can easily incorporate one-on-one or group text and media messaging.
Agora’s RTM also provides device signaling for individual or group call invitations.
Enhance the online classroom with interactivity.
Keep students engaged and give educators the tools they need to teach effectively.
With Agora’s Real-Time Messaging, you can use internal signaling to build interactive features like whiteboards, group chat, media file sharing, and more. Additionally, you can provide teachers with classroom management features such as student lists and hands-up options.
To keep class running smoothly, RTM will let you monitor the quality of the channels and the status of user accounts.
Enhance chat rooms with more features.
While Agora Voice Call makes it easy to embed voice chatting into your apps, Agora’s Real-Time Messaging can help you build a full-featured chat room where participants can text, share virtual gifts, comment live, and ask questions.
You can also use RTM to monitor the host status and number of participants, manage the account list, and perform other channel management tasks to keep things running smoothly.
Bring the full conference experience online.
When it’s impractical or inconvenient for people to gather in a physical space, take the conference online.
Agora’s Real-Time Messaging lets you build conferencing apps that provide texting, whiteboarding, media file sharing, and all the other tools hosts, presenters, and attendees need to make the most of an event.
What’s more, RTM lets you monitor channel status, including the number of participants, active speaker control, and more.
Add call signaling to IoT devices.
Make the Internet of Things more interactive.
With Agora’s Real-Time Messaging, you can integrate signaling services for call invitations, bi-directional monitoring and messaging control between apps and devices like smart watches, home security cameras, and other IoT devices.
Flexible and high-quality real-time messaging features enhance any application
You can incorporate voice and video call invitations into your application, so that recipients can accept or refuse incoming calls.
User status monitoring
Monitor use with real-time updates on the status of users or devices. You can check manually or subscribe for status notifications.
You can retrieve chatting, recording, and whiteboard-related historical records. You decide which records to save to the message history in your application.
Agora’s Real-Time Messaging provides end-to-end encryption for messages.
Monitor channel status in real time with updates on host status, channel messages, and more.
Use the RESTful API to send group messages from the back end. You can monitor events in real time, including users joining or leaving the channel and other management tasks.
Compatibility and cost-effectiveness
Compatibility with Agora products
Agora’s Real-Time Messaging provides a full-package solution that is compatible with Agora’s voice and video call and live-streaming products, so you can take advantage of all the benefits that come with Agora’s backbone SD-RTN™.
Agora provides quality service at a low price, with 1,000 free daily active users each month.
You get all the above plus the power of Agora’s Real-Time Engagement Platform
With an intelligent global network, optimizations for mobile devices, over 450 APIs, cross-platform SDKs, and developer-centric building blocks, why would you choose anyone else?
Made for developers
Connect to the Agora platform with only a few lines of code
Please select device
import AgoraRtcKit agoraKit = AgoraRtcEngineKit.sharedEngine(withAppId: AppID, delegate: self) agoraKit.setupLocalVideo(videoCanvas) agoraKit.enableVideo() agoraKit.joinChannel(byToken: Token, channelId: "demoChanne1", info:nil, uid:0) agoraKit.setupRemoteVideo(videoCanvas) agoraKit.leaveChannel(nil)
import io.agora.rtc.RtcEngine; mRtcEngine = RtcEngine.create(context, appid, eventHandler); mRtcEngine.setupLocalVideo(videoCanvas); mRtcEngine.enableVideo(); mRtcEngine.joinChannel(token, channelName, info, uid); mRtcEngine.setupRemoteVideo(videoCanvas); mRtcEngine.leaveChannel();
import AgoraRTC from 'agora-rtc-sdk'; let client = AgoraRTC.createClient(config); client.init(appid); let localStream = AgoraRTC.createStream(streamSpec) localStream.init(); localStream.play(elementID); client.join(token, channel, uid); remoteStream.play("elementID"); client.leave();
using agora_gaming_rtc; IRtcEngine mRtcEngine = IRtcEngine.getEngine(appId); mRtcEngine.EnableVideo(); mmRtcEngine.EnableVideoObserver(); mmRtcEngine.JoinChannel(channel, null, 0); VideoSurface remoteVideoSurface = go.AddComponent<VideoSurface> (); mmRtcEngine.LeaveChannel(); mmRtcEngine.DisableVideoObserver();
import AgoraRtcEngine from 'agora-electron-sdk'; RtcEngine.initialize(appid); RtcEngine.setupLocalVideo(element); RtcEngine.enableVideo() RtcEngine.joinChannel(token, channel, info, uid); RtcEngine.setupRemoveVideo(uid, view, info, channel); RtcEngine.leaveChannel()
#include "IAgoraRtcEngine.h" m_lpAgoraEngine = (IRtcEngine *)createAgoraRtcEngine(); m_lpAgoraObject->GetEngine()->setupLocalVideo(vc); m_lpAgoraObject->GetEngine()->enableVideo(); int nRet = m_lpAgoraEngine->joinChannel(token, channelName, NULL, nUID); m_lpAgoraObject->GetEngine()->setupRemoteVideo(vc); int nRet = m_lpAgoraEngine->leaveChannel();
Pricing that scales with your business
Get 10,000 mins FREE per month