Các dữ liệu được gửi sau khi giờ học kết thúc bao gồm: dữ liệu tóm tắt lớp học, dữ liệu đánh giá của giáo viên và học sinh, dữ liệu ghi hình lớp học được tạo sau giờ học, thông tin trả lời trog file EDU, dữ liệu chat trong lớp học, chi tiết xem phát lại ghi hình lớp học từ trang web và số liệu thống kê xem phát lại ghi hình lớp học từ app.
Vì lớp học được chuyển sang trạng thái đếm ngược 20 phút nếu GV không bấm kết thúc lớp nên những dữ liệu này sẽ được gửi về chậm nhất là 20 phút sau thời gian kết thúc.
Lưu ý: Đơn vị thời gian tính theo giây
Class relevant data are sent after class, including class total data,and some other important types of msg such as Appraise Message, Class Recording File Generated Message, Class Recording File Uploaded Message, EDU Answering msg, Watching data of Replay Page, App Replay Viewing Data and Chat in Classroom.
Since the system sets a 20 mins delay period for lessons, the above data will be pushed 20 mins after the end of the lesson at the latest.
Note: the unit of statistical duration is seconds
Lesson Summary Data #
Dữ liệu tóm tắt lớp học sẽ được tạo sau khi lớp học kết thúc và sẽ được gửi về trong vòng 20 phút sau khi lớp học kết thúc, theo định dạng json #
Vì thực tế trong lớp học có chức năng cho phép GV kết thúc lớp sớm hơn thời gian kết thúc đã thiết lập ‘End Lesson for All’ nên trường RealCloseTime sẽ giúp xác định thời gian kết thúc lớp. Logic như sau:
1) Xác định xem có trường RealCloseTime hay không (ngắt kết nối hoặc thoát bất thường có thể dẫn đến việc không có trường RealCloseTime)
2) Nếu không có trường RealCloseTime, CloseTime sẽ được ưu tiên
3) Nếu có trường RealCloseTime, khi RealCloseTime = 0, CloseTime sẽ được ưu tiên; khi RealCloseTime! = 0, hãy so sánh các giá trị của RealCloseTime và CloseTime, giá trị nhỏ hơn sẽ được ưu tiên
Key | Định dạng | Mô tả |
---|---|---|
Cmd | String | cmd=’End’ |
Data | object | Chi tiết |
└ stageEnd | object | Số lần lên và xuống bục giảng cùng với tổng thời gian ở trên & dưới bục của người dùng. Nếu học sinh được lên bục ngay khi vào lớp và ở lại lớp trong suốt buổi học mà không được cho xuống bục thì số lần học sinh lên sân khấu là 1 và thời gian ở trên sân khấu là thời gian ở trong lớp |
└ UID | object | UID người dùng |
└ DownCount | Int32 | Đếm số lần ở dưới bục giảng |
└ DownTotal | Int32 | Tính tổng thời gian người dùng ở dưới bục giảng |
└ UpCount | Int32 | Đếm số lần được lên bục giảng |
└ UpTotal | Int32 | Tính tổng thời gian người dùng ở trên bục giảng |
└ handsupEnd | object | Đếm số lần và tính thời gian giơ tay của từng cá nhân. Nếu khoảng thời gian giữa lúc giơ và hạ tay ngắn (người dùng bấm giơ tay liên tiếp 2 lần sát nhau) thì thời gian giơ tay có thể là 0 |
└ UID | object | UID người dùng |
└ CTime | Int64 | Thời gian giờ tay |
└ Total | Int32 | Tổng số lần người dùng giơ tay |
└ inoutEnd | Object | Dữ liệu vào và rời lớp |
└ UID | Object | UID người dùng |
└ Total | Int64 | Tổng thời gian người dùng ở trong lớp (tính theo giây) |
└ Details | Object Array | Ghi nhận chi tiết dữ liệu vào và rời lớp của từng cá nhân |
└ Type | String | Vào lớp: “In” Rời lớp: “Out” |
└ Device | Int32 | Thiết bị người dùng sử dụng để vào lớp (chỉ có dữ liệu này cho Type: In) |
└ Time | Int64 | Thời điểm vào lớp và rời lớp |
└ Identity | Int32 | Vai trò của tài khoản người dùng trong lớp học 1: Học sinh, 2: Người dự thính, 3: Giáo viên, 4: Trợ giảng, 193: Master Account, 194: Sub-Account |
└ Deputies | Object Array | Dữ liệu vào và rời lớp của thiết bị thứ 2 của GV. Nếu GV thay đổi nhiều thiết bị để truy cập vào lớp, thì những thiết bị này sẽ được liệt kê lần lượt |
└ ClientID | Int32 | Khi GV vào lớp với 2 thiết bị thì Client ID 1,2 sẽ giúp hiển thị thông tin chi tiết của từng thiết bị |
└ Total | Int64 | Thời lượng người dùng ở trong lớp bằng thiết bị này |
└ Details | Object Array | Ghi nhận chi tiết dữ liệu vào và rời lớp của từng cá nhân |
└ Type | String | Vào lớp: “In” Rời lớp: “Out” |
└ Device | Int32 | Thiết bị người dùng sử dụng để vào lớp (chỉ có dữ liệu này cho Type: In) |
└ Time | Int64 | Thời điểm vào lớp và rời lớp |
└ awardEnd | object | Cúp thưởng |
└ UID | object | UID người dùng |
└ Total | Int32 | Số cúp được nhận |
└ timerEnd | object | Công cụ Bộ bấm giờ (Timer) |
└ Count | Int32 | Số lần sử dụng công cụ |
└ Timing_Count | Int32 | Công cụ Bộ hẹn giờ (StopWatch) |
└ muteEnd | object | Chi tiết GV đã thao tác tắt mic của ai |
└ Persons | object | GV tắt mic của cá nhân |
└ Total | Int64 | Thời lượng bị tắt mic |
└ MuteAll | object | GV tắt mic của toàn lớp |
└ Count | Int32 | Số lần GV tắt mic của toàn lớp |
└ Total | Int64 | Thời lượng tắt mic |
└ smallboardEnd | object | Sử dụng bảng đen nhỏ (Sketch Board – Drawing) |
└ Count | Int32 | Số lần sử dụng |
└ Total | Int64 | Thời lượng sử dụng |
└ Period | array | Thời gian sử dụng cho mỗi lần phát bảng đen nhỏ |
└ DCount | Int32 | Số bảng đen nhỏ được phát |
└ textboardEnd | object | Sử dụng bảng đen nhỏ (Sketch Board – Text) |
└ Count | Int32 | Số lần sử dụng |
└ Total | Int64 | Thời lượng sử dụng |
└ Period | array | Thời gian sử dụng cho mỗi lần phát bảng đen nhỏ |
└ DCount | Int32 | Số bảng đen nhỏ được phát |
└ authorizeEnd | object | Trao quyền |
└ UID | object | UID người dùng |
└ Count | Int32 | Số lần sử dụng |
└ Total | Int64 | Thời lượng sử dụng |
└ diceEnd | object | Xúc xắc (Dice) |
└ Count | Int32 | Số lần sử dụng |
└ answerEnd | object | Khảo sát (Poll) |
└ Count | Int32 | Số lần sử dụng |
└ AverageAccuracy | float | Tỷ lệ trả lời đúng |
└ Answers | array object | Chi tiết câu trả lời |
└ Answer question person | object | — |
└ SelectedItem | String | Đáp án người dùng chọn |
└ LastCommitTime | Int64 | Thời điểm người dùng trả lời |
└ RecvQuestionTime | Int64 | Thời điểm người dùng nhận được bảng khảo sát |
└ Participants | object array | Chi tiết người tham gia khảo sát |
└ Identity | Int32 | Vai trò trong lớp của người tham gia khảo sát |
└ Uid | Int32 | UID người dùng |
└ ShowName | String | Biệt danh (Tên hiển thị trong lớp của người dùng) |
└ CorrectItems | String | Đáp án đúng |
└ Accuracy | float | Tỷ lệ đúng |
└ screenshareEnd | object | Chia sẻ màn hình |
└ Count | Int32 | Số lần sử dụng |
└ Total | Int64 | Thời lượng sử dụng |
└ Period | array | Thời gian sử dụng cho mỗi lần chia sẻ màn hình |
└ responderEnd | object | Giành quyền (Buzzer) |
└ Count | Int32 | Số lần sử dụng |
└ Persons | object | Chi tiết người tham gia giành quyền |
└ buzzer person | object | |
└ Count | Int32 | Số người tham gia |
└ SCount | Int32 | Số lần giành quyền thắng của mỗi người |
└ kickoutEnd | object | GV xóa người dùng khỏi lớp học |
└ UID | object array | UID người dùng bị xóa khỏi lớp |
└ Duration | Int64 | Thời lượng bị xóa khỏi lớp |
└ Time | Int64 | Thời điểm bị xóa khỏi lớp |
└ sharewidgetEnd | object | Học liệu (Courseware) |
└ Files | object array | Chi tiết các học liệu được sử dụng trong lớp |
└ StartTime | Int64 | Thời gian mở học liệu |
└ EndTime | Int64 | Thời gian đóng học liệu |
└ FileName | String | Tên học liệu |
└ Count | Int32 | Số lần sử dụng |
└ Total | Int64 | Tổng thời lượng sử dụng học liệu |
└ edbEnd | object | Sử dụng tệp EDB |
└ Files | object array | Chi tiết |
└ FileKey | String | file index, 0 là tệp tải lên từ cục bộ |
└ ActionTime | Int32 | Thời điểm mở EDB |
└ FileSource | Int32 | Nguồn EDB: 0 mở từ cục bộ; 1 mở từ Drive (CloudDisk) |
└ FileName | String | Tên tệp |
└ equipmentsEnd | object | Thông tin thiết bị |
└ UID | object | UID |
└ Microphone | object | Thông tin microphone |
└ Total | Int32 | Tổng thời lượng mở mic (chỉ tính thời gian mic được bật và người dùng đang ở trên bục giảng) |
└ TotalNotDisabled | Int32 | Tổng thời lượng mở mic (tính tổng thời gian mic được bật dù người dùng đang ở trên bục giảng hay dưới bục) |
└ Camera | object | Thông tin camera |
└ Total | Int32 | Tổng thời lượng mở camera (chỉ tính thời gian cam được bật và người dùng đang ở trên bục giảng) |
└ TotalNotDisabled | Int32 | Tổng thời lượng mở cam (tính tổng thời gian cam được bật dù người dùng đang ở trên bục giảng hay dưới bục) |
└ groupEnd | object | Thảo luận nhóm (Breakout Room) |
└ Grouping | object | — |
└ Count | Int32 | Số lần sử dụng |
└ Duration | Int64 | Thời gian thảo luận nhóm |
└ Items | object array | — |
└ Duration | Int64 | Thời gian thảo luận nhóm |
└ StartTime | Int32 | Thời điểm bắt đầu thảo luận |
└ Groups | object array | Thành viên nhóm |
└ GroupId | Int32 | ID nhóm |
└ Role | Int32 | Vai trò trong nhóm: 1 – trưởng nhóm; 0 – thành viên |
└ UID | object | UID |
└ silenceEnd | object | Cấm chat. Trường này sẽ không được gửi nếu tính năng cấm chat không được bật |
└ Persons | object | Giáo viên cấm chat từng cá nhân |
└ Total | Int64 | Thời lượng người dùng không bị cấm chat |
└ SilenceAll | object | Giáo viên cấm chat cả lớp |
└ Count | Int32 | Số lần cả lớp bị cấm chat |
└ Total | Int64 | Tổng thời lượng người dùng bị cấm chat |
└ screenchangeEnd | object | Chi tiết thay đổi chế độ dạy học của lớp |
└ UID | object | UID người dùng |
└ WindowTotal | Int32 | Thời lượng sử dụng chế độ dạy học tiêu chuẩn (Standard) |
└ FullTotal | Int32 | Thời lượng sử dụng chế độ dạy học cho màn hình lớn (Large-screen) |
└ WindowCount | Int32 | Số lần sử dụng chế độ dạy học tiêu chuẩn (Standard) |
└ FullCount | Int32 | Số lần sử dụng chế độ dạy học cho màn hình lớn (Large-screen) |
└ Details | array | Chi tiết |
└ Type | Int32 | Chế độ dạy học của lớp |
└ Time | Int32 | Thời điểm sử dụng chế độ dạy học |
└ teachingcameraEnd | object | Dữ liệu sử dụng camera phụ (Secondary camera) |
└ Total | Int32 | Thời lượng sử dụng |
└ Times | Int32 | Thời điểm sử dụng |
└ Details | Int32 | Chi tiết |
└ Local | Int32 | Thời lượng sử dụng camera của thiết bị |
└ Net | Int32 | Thời lượng sử dụng IP camera |
└ Video | Int32 | (trường này hiện không còn sử dụng) |
└ videowallEnd | object | Tổ hợp camera (Video Gallery) |
└ Total | Int32 | Thời lượng sử dụng |
└ Times | Int32 | Thời gian sử dụng |
Example #
{
"ClassID": 25672,
"CourseID" : 116576,
"Cmd" : "End",
"CloseTime" : 1499718000,
"StartTime" : 1499653800,
"SID" : 1000082,
"Data" : {
"edbEnd" : {
"Files" : [
{
"FileKey" : "49450405-9650126",
"ActionTime" : 1577188373,
"FileSource" : 1,
"FileName" : "小二 奥数 第5讲 火柴游戏.edb"
},
{
"FileKey" : "49179155-9650126",
"ActionTime" : 1577188447,
"FileSource" : 1,
"FileName" : "小二 奥数 第4讲 锯木头.edb"
},
{
"FileKey" : "49450405-9650126",
"ActionTime" : 1577188619,
"FileSource" : 1,
"FileName" : "小二 奥数 第5讲 火柴游戏.edb"
}
]
},
"stageEnd" : {
"1002646" : {
"DownCount" : 0,
"UpTotal" : 965,
"UpCount" : 1,
"DownTotal" : 0
},
"1002647" : {
"DownCount" : 1,
"DownTotal" : 7,
"UpCount" : 2,
"UpTotal" : 957
},
"1002648" : {
"DownCount" : 3,
"DownTotal" : 11,
"UpCount" : 4,
"UpTotal" : 816
}
},
"handsupEnd" : {
"1002647" : {
"CTime" : 3,
"Total" : 1
}
},
"awardEnd" : {
"1002647" : {
"Total" : 2
},
"1002648" : {
"Total" : 2
}
},
"timerEnd" : {
"Count" : 3,
"Timing_Count" : 0
},
"muteEnd" : {
"Persons" : {
"1002646" : {
"Total" : 965
},
"1002647" : {
"Total" : 957
},
"1002648" : {
"Total" : 34
}
},
"MuteAll" : {
}
},
"groupEnd" : {
"Grouping" : {
"Count" : 2,
"Items" : [
{
"Duration" : 6,
"Groups" : [
{
"1" : [
{
"Role" : 1,
"UID" : 1013566
},
{
"Role" : 0,
"UID" : 1013567
}
]
},
{
"2" : [
{
"Role" : 0,
"UID" : 1013564
},
{
"Role" : 1,
"UID" : 1013565
}
]
}
],
"StartTime" : 1594868086
},
{
"Duration" : 4,
"Groups" : [
{
"1" : [
{
"Role" : 1,
"UID" : 1013564
},
{
"Role" : 0,
"UID" : 1013567
}
]
},
{
"2" : [
{
"Role" : 1,
"UID" : 1013566
}
]
},
{
"3" : [
{
"Role" : 1,
"UID" : 1013565
}
]
}
],
"StartTime" : 1594868093
}
],
"Duration" : 10
}
},
"inoutEnd" : {
"1002646" : {
"Total" : 965,
"Details" : [
{
"Type" : "In",
"Device": 0,
"Time" : 1499673085
},
{
"Type" : "Out",
"Time" : 1499674050
}
],
"Identity": 1,
"Deputies" : [
{
"clientID":1,
"Total":100,
"Details":[
{
"Device":0,
"Type":"In",
"Time":1689145418
},
{
"Type" :"Out",
"Time":1689145544
}
]
},
{
"clientID":2,
"Total":100,
"Details":[
{
"Device":1,
"Type":"In",
"Time":1689145418
},
{
"Type" :"Out",
"Time":1689145544
}
]
}
]
},
"1002647" : {
"Total" : 964,
"Details" : [
{
"Type" : "In",
"Device": 0,
"Time" : 1499673094
},
{
"Type" : "Out",
"Time" : 1499674058
}
],
"Identity": 3
},
"1002648" : {
"Total" : 827,
"Details" : [
{
"Type" : "In",
"Device": 0,
"Time" : 1499673196
},
{
"Type" : "Out",
"Time" : 1499674023
}
],
"Identity": 1
}
},
"smallboardEnd" : {
"Count" : 1,
"Total" : 309,
"Period" : [
309
],
"DCount" : 4
},
"randomselEnd" : {
"Count":3
},
"mdscreenEnd" : {
"Count" : 1,
"Total" : 309
},
"textboardEnd" : {
"Count" : 1,
"Total" : 218,
"Period" : [
218
],
"DCount" : 1
},
"authorizeEnd" : {
"1002646" : {
"Count" : 0,
"Total" : 0
},
"1002647" : {
"Count" : 2,
"Total" : 38
},
"1002648" : {
"Count" : 0,
"Total" : 0
}
},
"diceEnd" : {
"Count" : 5
},
"answerEnd" : {
"Count" : 2,
"AverageAccuracy" : 0.5,
"Answers" : [
{
"1002647" : {
"SelectedItem" : "B",
"LastCommitTime" : 1499673922,
"RecvQuestionTime" : 1499673916
},
"Participants" : [
{
"Identity" : 1,
"Uid" : 1002647,
"ShowName" : "236...0002"
},
{
"Identity" : 1,
"Uid" : 1002648,
"ShowName" : "236...0003"
}
],
"CorrectItems" : "A",
"1002648" : {
"SelectedItem" : "A",
"LastCommitTime" : 1499673920,
"RecvQuestionTime" : 1499673915
},
"Accuracy" : 0.5
},
{
"1002647" : {
"SelectedItem" : "BCE",
"LastCommitTime" : 1499673972,
"RecvQuestionTime" : 1499673968
},
"Participants" : [
{
"Identity" : 1,
"Uid" : 1002647,
"ShowName" : "236...0002"
},
{
"Identity" : 1,
"Uid" : 1002648,
"ShowName" : "236...0003"
}
],
"CorrectItems" : "BCE",
"1002648" : {
"SelectedItem" : "ABC",
"LastCommitTime" : 1499673978,
"RecvQuestionTime" : 1499673967
},
"Accuracy" : 0.5
}
]
},
"screenshareEnd" : {
"Count" : 1,
"Total" : 31,
"Period" : [
31
]
},
"responderEnd" : {
"Count" : 2,
"Persons" : {
"1002647" : {
"Count" : 2,
"SCount" : 1
},
"1002648" : {
"Count" : 2,
"SCount" : 1
}
}
},
"sharewidgetEnd" : {
"Files" : [
{
"EndTime" : 1502178862,
"StartTime" : 1502178812,
"FileName" : "animal.wmv"
}
],
"Count" : 1,
"Total" : 50
},
"kickoutEnd" : {
"1002648" : [
{
"Duration" : 300,
"Time" : 1499674023
}
]
},
"equipmentsEnd": {
"100092": {
"Microphone": {
"Total": 381,
"TotalNotDisabled":450
},
"Camera": {
"Total": 25,
"TotalNotDisabled": 300
}
}
},
"classsetEnd" : {
"Seat" : {
"Group0" : {
"Count" : {
"Hidden" : 4,
"Display" : 4
},
"Total" : {
"Hidden" : 918,
"Display" : 1569
},
"Details" : [
{
"Type" : 0,
"Time" : 1605602050
},
{
"Type" : 1,
"Time" : 1605602567
},
{
"Type" : 0,
"Time" : 1605602864
},
{
"Type" : 1,
"Time" : 1605603120
},
{
"Type" : 0,
"Time" : 1605603397
},
{
"Type" : 1,
"Time" : 1605603728
},
{
"Type" : 0,
"Time" : 1605603873
},
{
"Type" : 1,
"Time" : 1605604338
}
]
}
}
},
"silenceEnd" : {
"Persons" : {
"1002646" : {
"Total" : 965
},
"1002647" : {
"Total" : 957
}
},
"SilenceAll" : {
"Count":0,
"Total":0
}
},
"screenchangeEnd" : {
"102322" : {
"WindowTotal" : 23,
"Details" : [
{
"Type" : 0,
"Time" : 1610350682
},
{
"Type" : 1,
"Time" : 1610350705
},
{
"Type" : 1,
"Time" : 1610350706
}
],
"FullTotal" : 724,
"WindowCount" : 1,
"FullCount" : 2
},
"102020" : {
"WindowTotal" : 697,
"Details" : [
{
"Type" : 1,
"Time" : 1610350626
},
{
"Type" : 0,
"Time" : 1610350731
},
{
"Type" : 0,
"Time" : 1610350733
}
],
"FullTotal" : 105,
"WindowCount" : 2,
"FullCount" : 1
}
},
"teachingcameraEnd" : {
"Total" : 9,
"Details" : {
"Video" : 0,
"Net" : 2,
"Local" : 7
},
"Times" : 2
},
"videowallEnd" : {
"Total" : 4,
"Times" : 1
}
}
}
Evaluation and grading by teachers and students #
Sau khi lớp học kết thúc, bảng đánh giá nhanh sẽ hiển thị để giáo viên & học sinh nhận xét đánh giá lẫn nhau
Dữ liệu sẽ được chia làm 2 phần riêng biệt: Giáo viên nhận xét toàn bộ học sinh trong lớp là một dữ liệu riêng. Dữ liệu từng học sinh của lớp đánh giá giáo viên sẽ được gộp để gửi cùng nhau
Nếu người dùng vào/ ra lớp học nhiều lần và mỗi lần đều để lại đánh giá/ nhận xét thì dữ liệu này sẽ được gửi nhiều lần, mỗi lần là nội dung mới nhất
Key | Định dạng | Mô tả |
---|---|---|
Cmd | String | cmd=’Rating’ |
TUID | Int32 | UID giáo viên |
└ Comments | Object | Chi tiết nhận xét đánh giá |
└ UID | Object | UID học sinh |
└ Account | String | Tài khoản của học sinh |
└ studentEmail | String | Email của học sinh |
└ T2S or S2T | Object | Nếu trường này hiện T2S nghĩa là dữ liệu GV nhận xét HS. S2T là dữ liệu HS đánh giá GV |
└ Comment | String | Nội dung |
└ Score | Int32 | Điểm đánh giá (Số sao) |
Example #
Giáo viên nhận xét học sinh #
{
"ActionTime" : 1513150417,
"ClassID" : 4136927,
"CourseID" : 1232019,
"Cmd" : "Rating",
"Comments" : {
"1044042" : {
"T2S" : {
"Comment" : "Good student!",
"Score" : 5
},
"Account" : "23605370012"
},
"1044040" : {
"T2S" : {
"Comment" : "",
"Score" : 3
},
"Account" : "23605370011"
}
},
"TUID" : 1024920,
"SID" : 1024920
}
Học sinh đánh giá giáo viên #
{
"ActionTime" : 1513150527,
"ClassID" : 4136927,
"CourseID" : 1232019,
"Cmd" : "Rating",
"Comments" : {
"1044040" : {
"Account" : "23605370011",
"S2T" : {
"Comment" : "Good teacher!",
"Score" : 4
}
}
},
"TUID" : 1024920,
"SID" : 1024920
}
Classroom Recording #
Dữ liệu này trả về thông tin chi tiết của video ghi hình lớp học dưới dạng json (tệp video ghi hình thì sẽ được trả về dữ liệu URL, nhà trường/tổ chức có thể truy cập URL để xem trực tiếp hoặc tải video về cục bộ). Video ghi hình lớp học có thể bị phân mảnh thành nhiều tệp nhỏ do trong quá trình ghi hình lớp xảy ra gián đoạn #
Key | Định dạng | Mô tả |
---|---|---|
Cmd | String | cmd=’Record’ |
VUrl | String | URL video ghi hình lớp học |
VST | Int64 | Thời gian bắt đầu video |
VET | Int64 | Thời gian kết thúc video |
Duration | Int64 | Thời lượng video |
FileId | String | ID của tệp video |
Size | Int64 | Dung lượng video |
Example #
{
"ClassID": 51345,
"ActionTime": 1562838399,
"CourseID": 18041431,
"SID": 257,
"TimeStamp": 1562839007,
"VET": 1501747090,
"VST": 1501746988,
"Cmd": "Record",
"VUrl": "http: //1252412222.vod2.myqcloud.com/e0d4af56vodgzp1252412222/6a0543209031868223084052851/f0.mp4",
"Duration": 12345,
"FileId": '123',
"Size": 100
}
Upload class recording after class #
Nhà trường/ tổ chức có thể tải lên video ghi hình mới thay thế cho video đang lưu trên hệ thống của ClassIn tại giao diện Trang quản lý classin.com. Khi thực hiện thao tác này thì dữ liệu sẽ được gửi về #
Key | Định dạng | Mô tả |
---|---|---|
Cmd | String | cmd=’Upload’ |
VUrl | String | URL video |
Duration | Int64 | Thời lượng của video |
FileId | String | ID tệp video |
Size | Int64 | Dung lượng tệp |
Example #
{
"ClassID": 51345,
"ActionTime": 1562838399,
"CourseID": 18041431,
"SID": 257,
"TimeStamp": 1562839007,
"Cmd": "Upload",
"VUrl": "http: //1252412222.vod2.myqcloud.com/e0d4af56vodgzp1252412222/6a059031868223084052851/f0.mp4",
"Duration": 12345,
"FileId": '123',
"Size": 100
}
Answers in EDU #
Chi tiết các câu trả lời của học sinh ở file EDU được mở trong lớp học
Key | Định dạng | Mô tả |
---|---|---|
Cmd | String | cmd=’EduDt’ |
Data | object | Chi tiết |
└ type | String | QRExam: quét mã để trả lời câu hỏi clientExam: trả lời câu hỏi trong lớp học |
└ startTime | Int | Thời gian bắt đầu (tính theo ms) |
└ endTime | Int | Thời gian kết thúc (tính theo ms) |
└ questionList | array | Danh sách câu hỏi |
└ index | Int | câu hỏi |
└ rightAnswer | String | đáp án đúng |
└ studentAnswers | array | Chi tiết đáp án của học sinh |
└ nickname | String | Biệt danh (Tên hiển thị trong lớp của người dùng) |
└ answer | String | Đáp án của học sinh |
Example #
{
"SID": 1000082,
"CID": 380592,
"Data": {
"type": "QRExam",
"startTime": 1573097646000,
"endTime": 1573097654009,
"questionList": [{
"index": 0,
"rightAnswer": "A,B",
"studentAnswers": [
{
nickname:'s1',
answer:'A,C'
},{
nickname:'s2',
answer:'A,D'
}
]
}, {
"index": 1,
"rightAnswer": "",
"studentAnswers": []
}, {
"index": 2,
"rightAnswer": "",
"studentAnswers": []
}]
},
"Cmd": "EduDt"
}
Details of watching playback on the ClassIn Webpage #
Dữ liệu của từng người dùng đã xem video phát lại ghi hình lớp học từ trang web của ClassIn
Lưu ý:
Nếu mạng ở phía người dùng kém, trang được làm mới, điện thoại ở chế độ ngủ, v.v., hệ thống sẽ gửi về nhiều dữ liệu có cùng InTime nhưng LookTime khác nhau. Khi xử lý dữ liệu, bạn nên sử dụng (Cmd, ClassID, Telephone, Intime) làm khóa và chỉ lưu trữ dữ liệu có LookTime lớn nhất
Key | Định dạng | Mô tả |
---|---|---|
Cmd | String | cmd=’ReplayDataDetail’ |
ClassID | Int | ID lớp học (LessonID) |
Data | object | Chi tiết |
└ Telephone | String | Tài khoản ClassIn của người dùng (SĐT/Email). Nếu người xem không đăng nhập thì dữ liệu sẽ hiển thị 1 chuỗi bắt đầu bằng ‘yk_’ |
└ Nickname | Int | Biệt danh (Tên hiển thị trong lớp học của người dùng) |
└ Intime | Int | Thời gian người dùng truy cập vào trang web (Unix timestamp) |
└ LookTime | Int | Thời lượng người dùng xem trang web (tính theo giây) |
└ IP | String | Địa chỉ IP của người dùng |
└ ClientType | Int | Thiết bị đang được sử dụng: 1-Trình duyệt của PC; 2-Trình duyệt của điện thoại; 3-Trình duyệt bên trong wechat |
Example #
{
"SID": 100088,
"ClassID": 10086,
"Cmd": "ReplayDataDetail",
"Data": {
"Telephone": "15201114553",
"Nickname": "husky2021",
"Intime": 1625108250,
"LookTime": 60,
"Ip": "127.0.0.1",
"ClientType": 1
}
}
Details of watching playback in ClassIn App #
Thời lượng xem (TotalLookVaildTime): Thời lượng xem phát lại video của người dùng được tính dựa trên các quy tắc sau:
- Thời gian người dùng xem đi xem lại 1 phần và thời gian người dùng xem nhưng kéo thanh tiến trình để tua nhanh sẽ không được tính. Chỉ khi người dùng xem và không tác động vào thanh tiến trình thì thời gian xem sẽ được tính dựa theo thời gian của thanh tiến trình
- Lần tiếp theo khi người dùng vào xem sau khi thoát, thời lượng của phần đã phát trước đó sẽ không được tính và chỉ tính thời lượng của phần chưa phát
- Nếu phần ghi hình lớp học bị phân mảnh thành nhiều video thì Thời lượng xem (TotalLookValidTime) sẽ tối đa bằng tổng thời lượng của các video
Số lần xem (ValidWatchCount): 1 lần xem hợp lệ của video phát lại được tính khi thời gian xem thực tế của video đạt 75% tổng thời lượng video.
Khi nào thì dữ liệu này được gửi về (TriggerType):
1. Khi người dùng mở video phát lại;
2. Khi người dùng tắt video phát lại;
3. Khi phiên truy cập hết thời gian chờ (người dùng không xem trong thời gian dài hoặc app bị thoát bất thường, sau khi hết thời gian chờ của một phiên truy cập)
Key | Dịnh dạng | Mô tả |
---|---|---|
Cmd | String | cmd=’ClientPlaybackDataDetail’ |
ClassID | Integer | ID lớp học (LessonID) |
Data | Object | Chi tiết |
└ UID | Integer | UID người dùng |
└ TotalDuration | Integer | Tổng thời lượng video phát lại |
└ ValidWatchCount | Integer | Số lần xem |
└ TotalLookValidTime | Integer | Thời lượng xem (tính theo giây) |
└ LatestDetails | Object | |
└ TriggerType | Integer | Lý do dữ liệu được gửi |
Example #
{
"ClassID":1,
"Data":{
"UID":1000082,
"TotalLookVaildTime":883,
"TotalDuration":1238,
"ValidWatchCount":2,
"LatestDetails":{
"TriggerType":1
}
}
}
Classroom chat history #
Dữ liệu trò chuyện của người dùng trong lớp học (bao gồm văn bản và hình ảnh) sẽ được tổng hợp sau khi lớp học kết thúc và địa chỉ tải xuống tương ứng sẽ được gửi đến khách hàng
Key | Dịnh dạng | Mô tả |
---|---|---|
Cmd | String | cmd=’ChatContent’ |
ClassID | Int | ID lớp học (LessonID) |
SID | Int | ID của trường |
URL | String | Địa chỉ tải xuống lịch sử trò chuyện |
Timestamp | Int32 | Thời gian dữ liệu được tổng hợp |
Example #
{
"TimeStamp": 1649216600,
"Cmd": "ChatContent",
"CID": 163937,
"SID": 100038,
"Url": "pgdfile.eeo.cn/classchat/202204/8/71c4d8d054cc44b19d9a6c350047359d.zip"
}