其他语言版本: 简体中文
This page introduces how to use eEducation 6.0.0. Please note that eEducation is not backward compatible. If you use eEducation 5.0.0, please refer to eEducation 5.0.0 Project Guide.
eEducation is a sample project provided by Agora for developers in the education industry, which demonstrates how to use Agora Edu Cloud Service, Agora RTC SDK, Agora RTM SDK, Agora Cloud Recording, and the third-party Netless whiteboard SDK to quickly implement basic online interactive tutoring scenarios.
eEducation supports the following scenarios:
- One-to-one Classroom: An online teacher gives an exclusive lesson to only one student, and both can interact in real time.
- Small Classroom: A teacher gives an online lesson to multiple students, and both the teacher and students can interact with each other in real time. The number of students in a small classroom should not exceed 16.
- Lecture Hall: Thousands of students watch an online lecture together. Students can "raise their hands" to interact with the teacher, and their responses are viewed by all the other students at the same time.
- Breakout Class: This is a new type of class which both has the scale of a lecture hall and the closeness of a small classroom. It allows dividing a lecture that has thousands of students into groups that have at most four students. Students can interact with each other in real time while the teacher is giving a lecture. Teaching assistants (TA) can also participate in a breakout class with instructional and management responsibilities.
eEducation supports the following platforms and versions:
- iOS 10 or later. We do not test Agora e-Education on iOS 9 updates.
- Android 4.4 and later.
- Web Chrome 72 and later. We do not test Agora e-Education on other browsers.
Function | iOS and Android (Student) | Web (Teacher) | Web (Student) | Web (TA) | Note |
---|---|---|---|---|---|
Real-time audio and video communication | ✅ | ✅ | ✅ | ✅ | The TA can only receive the audio and video streams of the teacher and students in realtime. |
Real-time messaging | ✅ | ✅ | ✅ | ✅ | / |
Interactive Whiteboard | ✅One-to-one Classroom ✅ Small Classroom ❌ Lecture Hall/Breakout Class |
✅ | ✅ One-to-one Classroom ✅ Small Classroom ❌ Lecture Hall/Breakout Class |
❌ | |
Whiteboard follow | ✅ | ✅ | ✅ | ✅ | The teacher can enable "whiteboard follow". When the teacher is moving the whiteboard or turning pages, the whiteboard area that students see will be consistent with the teacher's whiteboard area. |
Uploading files (PPT, Word, PDF, audio files or video files) | ❌ | ✅ | ❌ | ❌ | Only teachers can upload files to the classroom. |
Students raising hands | ✅ | ✅ | ✅ | ❌ | In a lecture hall, students do not send their audio and video by default, but they can "raise their hands" to apply for interacting with the teacher. The teacher can approve or decline the application. |
Screen sharing | ❌ | ✅ | ❌ | ❌ | Only the teacher can share the screen. |
Recording and replay | ❌ | ✅ | ❌ | ❌ | The teacher can start recording and record the class for at least 15 seconds. After the recording finishes, a link for replaying the class will be displayed in the message box. |
eEducation currently has the following restrictions:
- Integrate Agora Cloud Recording: The cloud recording in this sample project is only for demonstration. If you need to officially use the cloud recording function in your project, please see Cloud Recording Quick Start to enable Agora Cloud Recording.
- Only supports Alibaba and Qiniu Cloud OSS: Temporarily, this sample project only supports the Object Storage Service (OSS) of Alibaba Cloud and Qiniu Cloud. For details, see Alibaba Cloud OSS Configuration Guide.
- Whiteboard courseware management: In this sample project, we deploy the courseware management on the front end and upload courseware using
accessKey
andsecretKey
. However, this is not a best practice and may cause security issues. We suggest you implement the course management system on the back end and upload courseware in advance, so the web client only needs to read the courseware before the class. - Fails to update the user states immediately after a user in the classroom drops offline: This sample project does not implement a course management system and uses the Agora RTM SDK for querying the number of online users. If a user in the classroom drops offline, RTM cannot get the user states immediately. Generally, it takes about 30 seconds for RTM to update the user states. You can resolve this problem by implementing your own course management system.
- Connect with your own business logic: The functions of the Agora Edu Cloud Service cannot be directly extended. However, we provide the
userUuid
androomUuid
parameters for you to connect the Agora Edu Cloud Service with your own user management system and course management system. - Concurrent channel restrictions: At present, each appid can have up to 200 channels at the same time. If you need to continue more, please contact us.
- Wait 5 minutes: After the AppId is created, you need to wait for 5 minutes to complete the follow-up process. This step is to wait for the background data synchronization to complete.
Make sure you make the following preparations before compiling and running the sample project.
Follow these steps to get an Agora App ID:
- Create an account in Agora Console.
- Log in to Agora Console and create a project. Select "App ID + App Certificate + Token" as your authentication mechanism when creating the project. Make sure that you enable the App Certificate of this project.
- Get the App ID of this project in Project Management page.
- Log in to the Agora console, click the username in the upper right corner of the page, and open the RESTful API page in the drop-down list.
- Click download to get the customer ID (customerId) and customer secret (customerSecret).
Get a Netless app identifier and sdk token, and register the netless sdk token in Agora Edu Cloud Service
- Log in to the Netless console, click the application button on the left navigation bar to create a new application. After creating an application, click the configuration button, get the
AppIdentifier
, and then click Generate sdktoken, and then copy the generatedsdktoken
. - Log in to the Agora console, click the project management button in the left navigation bar, then click the edit button, click updateToken, and then copy the Netless
sdkToken
you get in the previous step into the pop-up dialog box.
See the following documents to compile and run the sample project:
Designed for developers who are not familiar with back end development, Agora Edu Cloud Service enables managing the states of rooms, users and streams, and notifying all the users in the classroom of state changes. For details, see Edu Cloud Service RESTful API.
If you are worried about the security of the whiteboard sdkToken, you can deploy your own Token generation service. You should store the sdkToken
on your server, and see the following documents to deploy a service for generating the token of a whiteboard room.
- JS: Room Authentication
- Android: Create Room
- iOS:Create Room
Take these steps to find the root cause:
- Check whether
localhost:3000
is occupied. - Check whether you have successfully installed Electron. Delete
node_modules/electron
, set up the variables of installment, and runnpm i electron
.
When packaging the Electron demo on Windows, please check whether the version of agora-electron-sdk that you installed is consistent with the version of Electron.
Take these steps to find the root cause:
- Run
npm list | grep 'white-web-sdk'
to check how many whiteboard sdks that you have installed. - Find the latest version of
white-web-sdk
innode_modules
, and remove other versions.
If you do not use yarn or cnpm to install, remove node_modules
, yarn.lock
, package-lock.json
.
Take these steps to fix this error:
- Remove
node_modules/electron
npm install electron@7.1.14 --platform=win32 --arch=ia32
- Add the following code snippet in
package.json
and runnpm i agora-electron-sdk
to re-install.
"agora_electron": {
"electron_version": "7.1.2",
"prebuilt": true,
"platform": "win32"
},