Please note that this repository is now in a read-only state and will not receive any further updates or support.
We recommend migrating to the following alternatives:
- Agora SDK: For developers seeking a customizable solution with full control over the user experience. Learn more
- Agora App Builder: For those preferring a no-code approach to integrate real-time engagement features. Get started
For documentation and support, please visit the Agora Documentation.
Instantly integrate Agora video calling or streaming into your web application using a React based VideoUIKit.
- An Agora developer account
- A React project
To a react application, add the following:
npm i agora-react-uikit
This UIKit contains a high level component called AgoraUIKit
. You can check out code explanation here.
A simple sample app integrating Agora UI Kit:
import React, {useState} from 'react';
import AgoraUIKit from 'agora-react-uikit';
const App = () => {
const [videoCall, setVideoCall] = useState(true);
const rtcProps = {
appId: '<Agora App ID>',
channel: 'test', // your agora channel
token: '<Your channel Token>' // use null or skip if using app in testing mode
};
const callbacks = {
EndCall: () => setVideoCall(false),
};
return videoCall ? (
<div style={{display: 'flex', width: '100vw', height: '100vh'}}>
<AgoraUIKit rtcProps={rtcProps} callbacks={callbacks} />
</div>
) : (
<h3 onClick={() => setVideoCall(true)}>Start Call</h3>
);
};
export default App;
Insert your Agora AppID and Token.
There's a demo project in the repo here.
- Add your Agora App ID to
/example/src/App.tsx
- Run
npm start
to start the bundler to build the library - Execute
cd example && npm start
to run the example app
For full documentation, see our docs page.
You can visit the wiki for other examples and in depth guide.
You can also export the UIKit to use outside a React project (for example in a vanilla-js project) using web-components. Find out more in the /web-component
directory.
The plan is to grow this library and have similar offerings across all supported platforms. There are already similar libraries for Android, iOS, React Native, and Flutter, so be sure to check them out.