Skip to content

Commit

Permalink
Merge branch 'flexible-classroom-2-9-400' of https://github.com/Agora…
Browse files Browse the repository at this point in the history
  • Loading branch information
atovpeko committed Mar 6, 2024
2 parents 54455a3 + 6f13c36 commit 7fd4996
Show file tree
Hide file tree
Showing 7 changed files with 97 additions and 35 deletions.
22 changes: 11 additions & 11 deletions shared/flexible-classroom/classroom-sdk/js.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -456,28 +456,28 @@ Classroom event listener. Set in [`LaunchOption`](#launchoption).
| Parameter | Description |
| :----- | :----- |
| `Ready`| `1`: Entered the classroom successfully.|
| `Destroyed`| `2`: The classroom has been destroyed.|
| `Destroyed`| `2`: The classroom has been destroyed. Includes the reason for leaving as a parameter: <ul><li>`1`: Left the room voluntarily.</li><li>`2`: Have been kicked out of the room.</li></ul>|
| `FailedToJoin`| `3`: Failed to enter the classroom.|
| `KickOut`| `101`: Being kicked out of the room.|
| `TeacherTurnOnMyMic`| `102`: Audio streaming permission is enabled.|
| `TeacherTurnOffMyMic`| `103`: Audio streaming permission is turned off.|
| `UserAcceptToStage`| `106`: Get on the podium.|
| `UserLeaveStage`| `107`: Leave the podium.|
| `RewardReceived`| `108`: Reward received.|
| `RewardReceived`| `108`: Reward received. Includes a list of rewarded users as a parameter.|
| `TeacherTurnOnMyCam`| `109`: The video streaming permission is enabled.|
| `TeacherTurnOffMyCam`| `110`: The video streaming permission has been turned off.|
| `CurrentCamUnplugged`| `111`: The current camera device is unplugged.|
| `CurrentMicUnplugged`| `112`: The current microphone device is unplugged.|
| `CurrentSpeakerUnplugged`| `113`: The current speaker is unplugged.|
| `CaptureScreenPermissionDenied`| `114`: No screen capture permission.|
| `BatchRewardReceived`| `117`: Receive bulk rewards.|
| `InvitedToGroup`| `118`: Receive invitation to join group.|
| `MoveToOtherGroup`| `119`: Moved to other groups.|
| `BatchRewardReceived`| `117`: Receive bulk rewards. Includes a list of rewarded users as a parameter.|
| `InvitedToGroup`| `118`: Receive invitation to join group. Includes group information as parameters.|
| `MoveToOtherGroup`| `119`: Moved to other groups. Includes the following parameters:<ul><li>Previous group</li><li>New group</li></ul>|
| `JoinSubRoom`| `120`: Join a group.|
| `LeaveSubRoom`| `121`: Leave the group.|
| `AcceptedToGroup`| `122`: The user accepts to join the group.|
| `UserJoinGroup`| `123`: Other users join the group.|
| `UserLeaveGroup`| `124`: Other users leave the group.|
| `RejectedToGroup`| `125`: The user refuses to join the group.|
| `RTCStateChanged`| `201`: RTC connection status change.|
| `ClassStateChanged`| `202`: Classroom status changes. |
| `AcceptedToGroup`| `122`: The user accepts to join the group. Includes the following parameters: <ul><li>Group ID</li><li>Accepting user</li></ul>|
| `UserJoinGroup`| `123`: Other users join the group. Includes the following parameters: <ul><li>Group ID</li><li>List of joining users</li></ul>|
| `UserLeaveGroup`| `124`: Other users leave the group. Includes the following parameters: <ul><li>Group ID</li><li>List of leaving users</li></ul>|
| `RejectedToGroup`| `125`: The user refuses to join the group. Includes the following parameters: <ul><li>Group ID</li><li>List of refusing users</li></ul>|
| `RTCStateChanged`| `201`: RTC connection status change. Includes the RTC connection status as a parameter: <ul><li>`0`: Not connected</li><li>`1`: Connecting</li><li>`2`: Connected</li><li>`3`: Reconnecting</li></ul>|
| `ClassStateChanged`| `202`: Classroom status changes. Includes the class status as a parameter: <ul><li>`0`: Started </li><li>`1`: Not started</li><li>`2`: Dragging </li><li>`3`: Ended</li></ul> |
17 changes: 11 additions & 6 deletions shared/flexible-classroom/integrate-flexible-classroom-fcr/web.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,10 @@ If you are satisfied with the default UI of Cloud Classroom and do not want to c
1. Add the following code to the HTML file in your project:

```html
<!-- <!-- Please replace X.Y.Z with the cloud classroom version number, such as 1.0.10.
<!-- <!-- Please replace X.Y.Z with the cloud classroom version number, such as 1.0.40.
You can check the latest version number through the release notes or GitHub repository branch. -->
<script src="https://download.agora.io/edu-apaas/release/[email protected]"></script>
<script src="https://download.agora.io/edu-apaas/release/[email protected]"></script>
```

2. To launch a classroom, call [FcrUIScene.launch](../../client-api/ui-scene#launch).
Expand All @@ -88,10 +89,10 @@ If you are satisfied with the default UI of Cloud Classroom and do not want to c
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- Introduce SDK, 1.0.20 is the sample version number. You can check the latest version number through the release notes or GitHub repository branch. -->
<script src="https://download.agora.io/edu-apaas/release/[email protected].20.bundle.js"></script>
<!-- Introduce Widget, 1.0.20 is the sample version number. You can check the latest version number through the release notes or GitHub warehouse branch -->
<script src="https://download.agora.io/edu-apaas/release/[email protected].20.bundle.js"></script>
<!-- Introduce SDK, 1.0.40 is the sample version number. You can check the latest version number through the release notes or GitHub repository branch. -->
<script src="https://download.agora.io/edu-apaas/release/[email protected].40.bundle.js"></script>
<!-- Introduce Widget, 1.0.40 is the sample version number. You can check the latest version number through the release notes or GitHub warehouse branch -->
<script src="https://download.agora.io/edu-apaas/release/[email protected].40.bundle.js"></script>
</head>

<body>
Expand All @@ -104,7 +105,7 @@ If you are satisfied with the default UI of Cloud Classroom and do not want to c
<div id="root"></div>
<script type="text/javascript">
// Start cloud classroom
FcrUIScene.launch(document.querySelector("#root"), {
const unmount = FcrUIScene.launch(document.querySelector("#root"), {
appId: "Your App ID",
region: "NA",
userUuid: "user id",
Expand Down Expand Up @@ -135,6 +136,10 @@ If you are satisfied with the default UI of Cloud Classroom and do not want to c

The sample code requires passing in `rtmToken`. You can refer to [Generate a <Vg k="MESS" /> token](../get-started/manage-agora-account#generate-an-rtm-token) to learn what a <Vg k="MESS" /> token is, how to get a temporary <Vg k="MESS" /> token for testing purposes, and how to generate a <Vg k="MESS" /> token from the server. The generated token passed in `userId` must be consistent with the `userUuid` parameters passed in the `launch` method; otherwise, the generated token will be invalid.

<Admonition type="info" title="Note">
Calling `launch` returns `unmount`. When your App routing changes cause the unloading of a page, call `unmount` to disconnect the room and recycle resources.
</Admonition>

### Customize the classroom UI

If you want to customize the classroom UI based on the default UI of Cloud Classroom, you need to integrate by downloading the source code on GitHub. Refer to the following steps:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,10 +67,10 @@ To integrate the whole <Vg k="FC"/> through CDN if you're satisfied with the def
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- Introduce the SDK, 2.9.20 is the sample version number, you can check the latest version number through the release notes or GitHub warehouse branch -->
<script src="https://download.agora.io/edu-apaas/release/[email protected].20.bundle.js"></script>
<!-- Introducing Widget, 2.9.20 is the sample version number. You can check the latest version number through the release notes or GitHub warehouse branch. (Widgets before 2.9.20 are packaged together with the SDK, and there is no need to introduce this library) -->
<script src="https://download.agora.io/edu-apaas/release/[email protected].20.bundle.js"></script>
<!-- Introduce the SDK, 2.9.40 is the sample version number, you can check the latest version number through the release notes or GitHub warehouse branch -->
<script src="https://download.agora.io/edu-apaas/release/[email protected].40.bundle.js"></script>
<!-- Introducing Widget, 2.9.40 is the sample version number. You can check the latest version number through the release notes or GitHub warehouse branch. (Widgets before 2.9.20 are packaged together with the SDK, and there is no need to introduce this library) -->
<script src="https://download.agora.io/edu-apaas/release/[email protected].40.bundle.js"></script>
</head>
<body>
<style>
Expand Down Expand Up @@ -141,10 +141,10 @@ If you want to customize the classroom UI based on the default UI of <Vg k="FC"/

1. Switch to the latest branch.

For example, if you want to switch to the branch of v2.9.20, just run the following command:
For example, if you want to switch to the branch of v2.9.40, just run the following command:

```bash
git checkout release/2.9.20
git checkout release/2.9.40
```

Agora recommends switching the branch to the latest release.
Expand Down
33 changes: 21 additions & 12 deletions shared/flexible-classroom/integrate-flexible-classroom/web.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -85,9 +85,10 @@ If you are satisfied with the default UI of <Vg k="FC"/> and do not want to chan
1. Add the following code to the HTML file in your project:

```html
<!-- Replace X.Y.Z with the Flexible Classroom version number, such as 2.9.20.
<!-- Replace X.Y.Z with the Flexible Classroom version number, such as 2.9.40.
You can check the latest version number through the release notes or GitHub repository branch. -->
<script src="https://download.agora.io/edu-apaas/release/[email protected]"></script>
<script src="https://download.agora.io/edu-apaas/release/[email protected]"></script>
```

2. To launch a classroom, call [AgoraEduSDK.config](../../client-api/classroom-sdk#config) and [AgoraEduSDK.launch](../../reference/classroom-sdk#launch) in the JavaScript code of the project.
Expand All @@ -100,10 +101,10 @@ If you are satisfied with the default UI of <Vg k="FC"/> and do not want to chan
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- Introducing SDK, 2.9.20 is the sample version number, you can check the latest version number through the release notes or GitHub warehouse branch -->
<script src="https://download.agora.io/edu-apaas/release/[email protected].20.bundle.js"></script>
<!-- Introducing Widget, 2.9.20 is the sample version number. You can check the latest version number through the release notes or GitHub warehouse branch. (Widgets before 2.9.20 are packaged together with the SDK, and there is no need to introduce this library) -->
<script src="https://download.agora.io/edu-apaas/release/[email protected].20.bundle.js"></script>
<!-- Introducing SDK, 2.9.40 is the sample version number, you can check the latest version number through the release notes or GitHub warehouse branch -->
<script src="https://download.agora.io/edu-apaas/release/[email protected].40.bundle.js"></script>
<!-- Introducing Widget, 2.9.40 is the sample version number. You can check the latest version number through the release notes or GitHub warehouse branch. (Widgets before 2.9.0 are packaged together with the SDK, and there is no need to introduce this library) -->
<script src="https://download.agora.io/edu-apaas/release/[email protected].40.bundle.js"></script>
</head>
<body>
<style>
Expand All @@ -121,7 +122,7 @@ If you are satisfied with the default UI of <Vg k="FC"/> and do not want to chan
region: 'NA'
});
// Start online classroom
AgoraEduSDK.launch(document.querySelector('#root'), {
const unmount = AgoraEduSDK.launch(document.querySelector("#root"), {
userUuid: 'user id',
userName: 'user name',
roomUuid: 'room id',
Expand Down Expand Up @@ -159,6 +160,10 @@ The sample code requires passing in `rtmToken`. You can refer to [Generate a <Vg

For details on the values of other parameters, see [LaunchOption](../../client-api/classroom-sdk#launchoption).

<Admonition type="info" title="Note">
Calling `launch` returns `unmount`. When your App routing changes cause the unloading of a page, call `unmount` to disconnect the room and recycle resources.
</Admonition>

<a name="change_default_ui_education"></a>
### Customize the classroom UI

Expand Down Expand Up @@ -249,7 +254,7 @@ If you are satisfied with the default UI of <Vg k="FC"/> and do not want to chan
1. Add the following code to the HTML file in your project:

```html
<!-- Replace X.Y.Z with the Flexible Classroom version number.
<!-- Replace X.Y.Z with the Flexible Classroom version number. For example, 1.0.40
You can check the latest version number through the release notes or the GitHub repository branch. -->
<script src="https://download.agora.io/edu-apaas/release/[email protected]"></script>
```
Expand All @@ -264,10 +269,10 @@ If you are satisfied with the default UI of <Vg k="FC"/> and do not want to chan
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- Introduce SDK, 1.0.10 is the sample version number. You can check the latest version number through the release notes or GitHub repository branch. -->
<script src="https://download.agora.io/edu-apaas/release/[email protected].10.bundle.js"></script>
<!-- Introducing Widget, 1.0.10 is the sample version number. You can check the latest version number through the release notes or GitHub warehouse branch. (Widgets before 1.0.10 are packaged together with the SDK, so there is no need to introduce this library) -->
<script src="https://download.agora.io/edu-apaas/release/[email protected].10.bundle.js"></script>
<!-- Introduce SDK, 1.0.40 is the sample version number. You can check the latest version number through the release notes or GitHub repository branch. -->
<script src="https://download.agora.io/edu-apaas/release/[email protected].40.bundle.js"></script>
<!-- Introducing Widget, 1.0.40 is the sample version number. You can check the latest version number through the release notes or GitHub warehouse branch. (Widgets before 1.0.10 are packaged together with the SDK, so there is no need to introduce this library) -->
<script src="https://download.agora.io/edu-apaas/release/[email protected].40.bundle.js"></script>
</head>

<body>
Expand All @@ -286,7 +291,7 @@ If you are satisfied with the default UI of <Vg k="FC"/> and do not want to chan
region: "NA",
});
// Start online proctoring
AgoraProctorSDK.launch(document.querySelector("#root"), {
const unmount = AgoraProctorSDK.launch(document.querySelector("#root"), {
userUuid: "user id", // Refer to the description below to fill in userUuid
userName: "user name",
roomUuid: "room id",
Expand All @@ -308,6 +313,10 @@ If you are satisfied with the default UI of <Vg k="FC"/> and do not want to chan
</html>
```

<Admonition type="info" title="Note">
Calling `launch` returns `unmount`. When your App routing changes cause the unloading of a page, call `unmount` to disconnect the room and recycle resources.
</Admonition>

When being proctored online, students need to use the primary and secondary devices to access the exam. For example, the main device is a Web client used to collect students' videos and share their screens when they answer questions; the secondary device is an Android or iOS device used to capture students' bodies when they answer questions. The proctor observes students answering questions through videos from several points to prevent cheating. You need to fill in the `userUuid` on different devices. For example, for student A, pass it in the `AgoraProctorSDK.launch` parameter on the Web side, and then on the Android or iOS side. Flexible Classroom will identify them as student A's primary and secondary devices, merge their video streams, and render the merged video images in the teacher's proctoring video window.

The sample code requires passing in `rtmToken`. You can refer to [Generate a <Vg k="MESS" /> token](../get-started/manage-agora-account#generate-an-rtm-token) to learn what a <Vg k="MESS" /> token is, how to get a temporary <Vg k="MESS" /> token for testing purposes, and how to generate a <Vg k="MESS" /> token from the server. The generated token passed in `userId` must be consistent with the `launch` parameters passed in the `userUuid` method; otherwise, the generated token will be invalid.
Expand Down
15 changes: 15 additions & 0 deletions shared/flexible-classroom/release-notes/android.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
<PlatformWrapper platform="android">

## v2.8.100

v2.8.00 was released on March 6, 2024

#### Improvements

This release optimizes the network connection by supporting the cloud proxy configurations of the RTM service.

#### Issues fixed

This release fixes the following issues:

- The sequence compensation mechanism was abnormal.
- The on-stage state became inaccurate after students in a lecture hall joined and left the class.

## v2.8.81

v2.8.81 was released on December 14, 2023.
Expand Down
15 changes: 15 additions & 0 deletions shared/flexible-classroom/release-notes/ios.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
<PlatformWrapper platform="ios">

## v2.8.100

v2.8.00 was released on March 6, 2024

#### Improvements

This release optimizes the network connection by supporting the cloud proxy configurations of the RTM service.

#### Issues fixed

This release fixes the following issues:

- The font size displayed on the whiteboard was abnormal.
- The on-stage state became inaccurate after students in a lecture hall joined and left the class.

## v2.8.80

v2.8.80 was released on December 14, 2023.
Expand Down
18 changes: 18 additions & 0 deletions shared/flexible-classroom/release-notes/js.mdx
Original file line number Diff line number Diff line change
@@ -1,3 +1,21 @@
## v2.9.40

v2.9.40 was released on March 6, 2024.

#### Improvements

This release adds the following improvements:

- Optimizes the logic of audio device selection after plugging and unplugging an external audio device.
- Supports adjusting video profile during class.

#### Issues fixed

This release fixes the following issues:

- The on-stage state became inaccurate after students in a lecture hall joined and left the class.
- The video window occasionally went black during live streaming on the H5 browser.

## v2.9.20

v2.9.20 was released on January 17, 2024.
Expand Down

0 comments on commit 7fd4996

Please sign in to comment.