USE CASES

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.

Social interactions
Online education
Voice chatting room
Virtual conference
loT devices

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.

FEATURES

Flexible and high-quality real-time messaging features enhance any application

Full functionality

Real-time chatting

Integrate signaling support for one-to-one messaging or group chatting into your applications.

Channel messaging

Send low-latency messages to everyone participating in the channel.

Rich media messages

With Real-Time Messaging, you can support the inclusion of files, images, or other rich media in messages.

Call management

Call invitation

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.

Message history

You can retrieve chatting, recording, and whiteboard-related historical records. You decide which records to save to the message history in your application.

Data encryption

Agora’s Real-Time Messaging provides end-to-end encryption for messages.

Channel attributes

Monitor channel status in real time with updates on host status, channel messages, and more.

RESTful API

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™.

Cost-effective service

Agora provides quality service at a low price, with 1,000 free daily active users each month.

WHY AGORA

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?

DEVELOPERS

Made for developers

Connect to the Agora platform with only a few lines of code

iOS/MacOS

Android

Web

Unity

Electron

Windows

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

Let’s start working together

Whether you have questions about Agora technology, development, pricing or partnerships, we’re here to help.

Contact our Experts »

With 10,000 free minutes each month, you don’t pay until your business starts to scale. No credit card required.

Get Started »