Dữ liệu của lớp học đang diễn ra (During Class Data)

Mục lục

Class detail data is pushed in real-time during class are hands up, rewards, the position of the camera, authorize, enter the classroom, leave the classroom, kick out, mute all, mute individual, selector, responder, up and down the stage, network condition of the classroom (sent in summary every 5 mins), device detection in the classroom, message of teachers and students seeking help in the classroom, extension of the class, message of a user logging onto the ClassIn web-live page, details of starting the classroom recording, message of viewers’ making reservation to watch the live stream on the ClassIn web-live page, details of watching the live stream on the webpage, ‘like’ on the live stream webpage and details of clicks on goods.

  • Use different ‘cmd’ values to identify different types of data.

  • Please note that some types of real-time data will also be included in the data type of Summary(cmd=end), which is a summary of teaching and learning events in the classroom. Summary data is sent after class. For example, you may subscribe to ‘Summary data’ to receive the details of students getting rewarded and entering/exiting the classroom instead of receiving the real-time data of hands up, rewards, enter the classroom etc separately.

Hands up #

Gửi dữ liệu khi học sinh bấm giơ tay theo thời gian thực
 
 
KeyĐịnh dạngMô tả
CmdInt32cmd=67375105
ColorStringHandsup+ID người dùng
HandsupBooleanTrue: Giơ tay; False: Hạ tay

Rewards #

Gửi dữ liệu khi học sinh nhận cúp thưởng theo thời gian thực
KeyĐịnh dạngMô tả
CmdInt32cmd=67375105
ColorStringAward+ID người dùng
TimesInt32Count of times

Camera Position #

Gửi dữ liệu vị trí camera theo thời gian thực
KeyĐịnh dạngMô tả
CmdInt32cmd=67375105
ColorStringwebcamPosition+ID người dùng
AreaStructvị trí của camera
└ X1Int32Tọa độ X vị trí góc trên bên trái
└ Y1Int32Tọa độ Y vị trí góc trên bên trái
L X2Int32Tọa độ X vị trí góc dưới bên phải
L Y2Int32Tọa độ Y vị trí góc dưới bên phải
OnTopBoolCamera người dùng có ở trên bục hay không. 0=Không; 1=Có
ChannelInt32Xác định loại camera. 0=Camera chính; 1=Camera phụ

Authorize #

Gửi dữ liệu trao quyền học sinh trong lớp theo thời gian thực
 
 
KeyĐịnh dạngMô tả
CmdInt32cmd=67371520
OperationBooleanTrue: Đã được trao quyền; False: Đã bị lấy lại quyền

Enter the classroom #

Gửi dữ liệu vào lớp học theo thời gian thực
 
 
KeyĐịnh dạngMô tả
CmdInt32cmd=67371107
NickNameStringBiệt danh được đặt trong lớp học của người dùng
AllowEnterTimeInt32Thời gian người dùng được cho phép vào lại lớp sau khi bị xóa khỏi lớp học đang diễn ra
UIDInt32ID người dùng
LoginMobileStringSố điện thoại
LoginEmailStringĐịa chỉ Email
ClientIDInt32Khi giáo viên sử dụng 2 thiết bị (Dual devices). Thiết bị đầu tiên vào lớp sẽ là 0 và thiết bị vào sau sẽ là 1
IdentityInt32Xác định vai trò của tài khoản người dùng. 1: Học sinh; 2: Người dự thính; 3: Giáo viên đứng lớp; 4: Trợ giảng; 193: Master Account; 194: Sub-account
DeviceInt32Loại thiết bị đang được sử dụng để vào lớp. 0: PC; 1: Iphone; 2: Ipad; 3: Web Client; 4: Điện thoại Android; 5: Máy tính bảng Android; 6: Android TV; 9: PC-x64

Exit the classroom #

Gửi dữ liệu ra khỏi lớp học theo thời gian thực
 
 
KeyĐịnh dạngMô tả
CmdInt32cmd=67371111
UIDInt32ID người dùng
IdentityInt32Xác định vai trò của tài khoản người dùng. 1: Học sinh; 2: Người dự thính; 3: Giáo viên đứng lớp; 4: Trợ giảng; 193: Master Account; 194: Sub-account
ClientIDInt32Khi giáo viên sử dụng 2 thiết bị (Dual devices). Thiết bị đầu tiên vào lớp sẽ là 0 và thiết bị vào sau sẽ là 1
ReasonInt32

0: unknown,
1: người dùng tự thoát lớp,
2: lớp học kết thúc,
3: rời khỏi lớp bất thường,
4: bị GV xóa khỏi lớp học,
5: dịch vụ hết hạn,
6: mất kết nối,
7: lớp học bị hủy,
8: người dùng bị thay đổi vai trò trong lớp,
54: sử dụng cùng 1 tài khoản truy cập vào lớp khác,
56: kết nối mạng bị gián đoạn,
60: dùng thiết bị khác để vào lớp,
101: Nhấn nút Home trên điện thoại Android để thoát lớp,
102: Có cuộc gọi đến nên thoát lớp,
111: Chuyển sang ứng dụng khác (trong trường hợp lớp học bật focus mode).

Kicked out #

Gửi dữ liệu học sinh bị GV xóa khỏi lớp học theo thời gian thực
Ghi chú: Tính năng này cho phép GV cấm học sinh quay lại lớp trong 1 khoảng thời gian nhất định
 
 
KeyĐịnh dạngMô tả
CmdInt32cmd=67371523
DurationInt64Thời lượng GV cấm học viên vào lại lớp
TargetUIDInt32UID của học sinh bị xóa khỏi lớp
OperationInt321: Kicked out

Mute #

Gửi dữ liệu học sinh bị GV tắt mic theo thời gian thực
 
 
KeyĐịnh dạngMô tả
CmdInt32cmd=67371522: GV tắt một học sinh riêng lẻ;
cmd=67371586: GV tắt mic toàn bộ học sinh
TargetUIDInt32UID của học sinh bị tắt mic
OperationInt321: đã yêu cầu tắt mic; 0: không yêu cầu tắt mic

Selector (Poll) #

Gửi dữ liệu của tính năng khảo sát trong lớp theo thời gian thực
 
 
KeyĐịnh dạngMô tả
AreaStructVị trí hiển thị của tính năng trong lớp học
└ X1,Y1,X2,Y2Int32
ColorString‘standaloneSelectorToolglobalData’: Hiển thị câu hỏi
‘standaloneSelectorTool’ + UID học sinh: Học sinh tham gia
CmdInt32cmd=67375105
QSentTimeInt32thời gian bắt đầu khảo sát
CurStateInt32Trạng thái của tính năng. 0:đang bật; 1:đang trong quá trình khảo sát; 2:đã dừng nhận khảo sát
QCollectTimeInt32Thời gian kết thúc khảo sát
CorrectItemsStringĐáp án đúng
CommitedInt32Trạng thái của học sinh. 0: bắt đầu, 1: đang làm khảo sát, 2: đã nộp
SelectedItemStringĐáp án học sinh đã chọn
AllItemsStringTất cả các lựa chọn trong khảo sát
ParticipantsStructChi tiết học sinh tham gia
└ ShowNameStringBiệt danh (Tên trong lớp)
└ UidInt32UID của học sinh
L IdentityInt32Xác định vai trò của học sinh
RecvQuestionTimeInt32Thời gian học sinh nhận khảo sát
LastCommitTimeInt32Thời gian học sinh nộp đáp án

Responder #

Gửi dữ liệu của tính năng giành quyền trả lời trong lớp theo thời gian thực
 
 
KeyĐịnh dạngMô tả
AreaStructVị trí của tính năng hiển thị trong lớp
└ X1,Y1,X2,Y2Int32
ColorStringstandaloneResponderToolglobalData: GV bắt đầu sử dụng tính năng standaloneResponderTool+UID học sinh: Học sinh tham gia
CmdInt3267375105
RandomTopLeftStructVị trí xuất hiện ngẫu nhiên của tính năng ở trong lớp học
└ X,YInt32
ParticipantsStructHọc sinh đã tham gia nhấn giành quyền
└ ShowNameStringBiệt danh (Tên trong lớp)
└ UidInt32UID của học sinh
L IdentityInt32Xác định vai trò của học sinh
EndTimeInt32Thời gian kết thúc giành quyền
CurStateInt32Trạng thái hiện tại. 0: GV vừa mở tính năng; 1: GV bấm bắt đầu; 2: Học sinh nhấn giành quyền; 3: Trạng thái chờ sau khi bấm giành quyền xong; 4: Kết thúc
nIdInt32UID của học sinh đầu tiên nhấn giành quyền
FastestGuyTimeInt32Thời gian giành quyền của học sinh nhấn nhanh nhất
FastestGuyNameStringTên của của học sinh nhấn giành quyền nhanh nhất

Stage #

Gửi dữ liệu lên xuống bục giảng trong lớp theo thời gian thực
 
 
KeyĐịnh dạngMô tả
CmdInt32cmd=67371521
OperationInt320: xuống bục giảng,1: lên bục giảng

Network condition during the class #

Gửi trạng thái mạng/CPU của người dùng trong lớp học theo thời gian thực. Dữ liệu sẽ được thu thập và gửi về mỗi 5 phút

KeyĐịnh dạngMô tả
CmdStringcmd=’Net’
DataObjectThông số
└ localIPStringmediaIp (số cuối cùng sẽ được ẩn)
└ socketStringUDP/TCP, giao thức đang được sử dụng để truyền dữ liệu truyền thông (media) trong lớp tại thời điểm dữ liệu này được thu thập
└ mediaPortIntegerMedia port
└ reportTimeStringthời điểm hệ thống gửi dữ liệu báo cáo
└ mediaDurationIntegerThời gian của chu kỳ tải lên (tính bằng giây)
└ goodIntegerTổng số lần trạng thái UDP là Good
└ normalIntegerTổng số lần trạng thái UDP là Normal
└ badIntegerTổng số lần trạng thái UDP là Bad
└ poorIntegerTổng số lần trạng thái UDP là Poor
└ notReachIntegerTổng số lần trạng thái UDP là Not Reach
└ totalIntegerTổng số UDP
└ avgDelayStringĐộ trễ trung bình của UDP
└ avgVarianceStringPhương sai trung bình của UDP
└ lossIntegerSố lượng gói tin UDP thực tế bị mất
└ udpTotalPktsIntegerTổng số gói tin thực tế được dùng để kiểm tra tốc độ UDP
└ tcpGoodIntegerTổng số lần trạng thái TCP là Good
└ tcpNormalIntegerTổng số lần trạng thái TCP là Normal
└ tcpBadIntegerTổng số lần trạng thái TCP là Bad
└ tcpPoorIntegerTổng số lần trạng thái TCP là Poor
└ tcpNotReachIntegerTổng số lần trạng thái TCP là Not Reach
└ tcpTotalIntegerTổng số TCP
└ tcpAvgDelayStringĐộ trễ trung bình của TCP
└ tcpAvgVarianceStringPhương sai trung bình của TCP
└ gatewayGoodIntegerTổng số lần trạng thái cổng mạng của người dùng (user gateway) là Good
└ gatewayNormalIntegerTổng số lần trạng thái cổng mạng của người dùng (user gateway) là Normal
└ gatewayBadIntegerTổng số lần trạng thái cổng mạng của người dùng (user gateway) là Bad
└ gatewayPoorIntegerTổng số lần trạng thái cổng mạng của người dùng (user gateway) là Poor
└ gatewayNotReachIntegerTổng số lần trạng thái cổng mạng của người dùng (user gateway) là Not Reach
└ gatewayTotalIntegerTổng số cổng mạng của người dùng (user gateway)
└ gatewayTtlStringCổng mạng TTL
└ gatewayAddressStringCổng mạng của người dùng (user gateway)
└ gatewayAvgDelayStringĐộ trễ trung bình của user gateway 
└ gatewayAvgVarianceStringPhương sai trung bình của user gateway
└ gatewayLossIntegerSố lượng gói tin user gateway bị mất
└ gateway2GoodIntegerTổng số lần cổng truy cập có trạng thái là Good
└ gateway2NormalIntegerTổng số lần cổng truy cập có trạng thái là Normal
└ gateway2BadIntegerTổng số lần cổng truy cập có trạng thái là Bad
└ gateway2PoorIntegerTổng số lần cổng truy cập có trạng thái là Poor
└ gateway2NotReachIntegerTổng số lần cổng truy cập có trạng thái là Not Reach
└ gateway2TotalIntegerTổng số cổng truy cập
└ gateway2TtlStringCổng truy cập TTL
└ gateway2AddressStringCổng truy cập (Access gateway)
└ gateway2AvgDelayStringĐộ trễ trung bình của access gateway
└ gateway2AvgVarianceStringPhương sai trung bình của access gateway
└ gateway2LossStringSố lượng gói tin access gateway bị mất
└ cpuLowIntegerTổng số trạng thái CPU là Low
└ cpuMediumIntegerTổng số trạng thái CPU là Medium
└ cpuHighIntegerTổng số trạng thái CPU là High
└ cpuBusyIntegerTổng số trạng thái CPU là Busy
└ cpuTotalIntegerTổng số lần kiểm tra trạng thái CPU

Example #

{
    "ClassID": 290274,
    "ActionTime": 1521547386,
    "UID": 1001920,
    "CourseID": 122982,
    "TimeStamp": 1521547387,
    "Cmd": "Net",
    "_id": "5ab0f87aa3251e6e49b9e892",
    "SID": 1001920,
    "Data": {
        "avgVariance": "35.890",
        "reportTime": "1720082915",
        "gatewayAvgVariance": "38.284",
        "gateway2Poor": 0,
        "gatewayNormal": 0,
        "total": 592,
        "mediaPort": 8080,
        "gateway2AvgDelay": "16.240",
        "udpTotalPkts": 92,
        "localIP": "123.24.205.*",
        "avgDelay": "68.258",
        "gatewayAvgDelay": "6.794",
        "poor": 10,
        "good": 560,
        "notReach": 3,
        "gateway2AvgVariance": "74.474",
        "normal": 19,
        "gatewayTtl": 1,
        "gatewayTotal": 300,
        "gateway2Loss": 6,
        "gateway2Good": 293,
        "gateway2NotReach": 6,
        "loss": 4,
        "gateway2Ttl": 3,
        "gateway2Total": 299,
        "gatewayLoss": 0,
        "gatewayNotReach": 0,
        "gateway2Address": "123.25.27.93",
        "socket": "UDP",
        "gateway2Bad": 0,
        "gatewayPoor": 0,
        "bad": 0,
        "gateway2Normal": 0,
        "gatewayGood": 300,
        "gatewayBad": 0,
        "mediaDuration": 300,
        "gatewayAddress": "10.0.30.1",
        "cpuHigh": 0,
        "cpuMedium": 0,
        "cpuBusy": 0,
        "cpuLow": 299,
        "cpuTotal": 299
    }
}

Example #


{
    "ClassID": 290274,
    "ActionTime": 1521547386,
    "UID": 1001920,
    "CourseID": 122982,
    "TimeStamp": 1521547387,
    "Cmd": "Net",
    "_id": "5ab0f87aa3251e6e49b9e892",
    "SID": 1001920,
    "Data": {
        "poor": 0,
        "bad": 0,
        "total": 331,
        "good": 331,
        "normal": 0,
        "notReach": 0,
        "cpuLow": 0,
        "cpuMedium": 10,
        "cpuHigh": 31,
        "cpuBusy": 3,
        "cpuTotal": 44,
        "localIP": "1.2.3.*"
    }
}


Equipment detection in the classroom #

Gửi dữ liệu thiết bị của người dùng trong lớp học theo thời gian thực

 
KeyĐịnh dạngMô tả
CmdStringcmd=’Check’
Datajson objectChi tiết kiểm tra thiết bị của người dùng
└ OperatingSystemstringHệ thống vận hành
└ CPUstringThông tin CPU
└ NetworkDelaystringĐộ trễ mạng
└ FrameLossstringFrameLoss
└ MicrophoneArbitrarynumberTrạng thái microphone. 1: Bình thường,2: Tắt hoặc không tìm thấy thiết bị
└ HeadphoneArbitrarynumberTrạng thái headphone. 1: Bình thường,2: Tắt hoặc không tìm thấy thiết bị
└ CameraArbitrarynumberTrạng thái camera. 1: Bình thường,2: Tắt hoặc không tìm thấy thiết bị
└ EEO_VIDEO_DEVICE_NAMEstringCamera được chọn
└ EEO_AUDIO_DEVICE_NAMEstringMicrophone được chọn
└ EEO_AUDIO_OUTPUT_NAMEstringLoa phát/tai nghe được chọn
└ EEO_DEVICE_LISTjson objectDanh sách thiết bị
  └ cameraarrayDanh sách camera
  └ micphonearrayDanh sách microphone
  └ speakerarrayDanh sách loa phát/tai nghe
└ MicrophoneImpersonalnumberKết quả kiểm tra Microphone(1 bình thường, 2 bất thường hoặc không có dữ liệu audio được tìm thấy), dữ liệu này không khả dụng đối với người dùng đang sử dụng thiết bị di động
└ CameraImpersonalnumberKết quả kiểm tra Camera(1 bình thường, 2 bất thường hoặc không có dữ liệu audio được tìm thấy), dữ liệu này không khả dụng đối với người dùng đang sử dụng thiết bị di động
└ HeadphoneImpersonalnumberKết quả kiểm tra loa phát/tai nghe(1 bình thường, 2 bất thường hoặc không có dữ liệu audio được tìm thấy), dữ liệu này không khả dụng đối với người dùng đang sử dụng thiết bị di động
└ MicrophoneAttachmentstring
└ HeadphoneAttachmentstring
└ CameraAttachmentstring
└ ClassInVersionstringPhiên bản ClassIn
└ MacstringThông số MAC của thiết bị
└ addTimestringThời gian hệ thống kiểm tra thiết bị (unix timestamp)
└ InfoSourcenumberCác trạng thái. 1: khởi tạo thiết bị;2: chọn thiết bị; 3: finish the self equipment testing;4, changes of equipment;5 finish setting of the equipment;7, interrupt of the equipment testing;
└ DeviceTypenumbertype of the device: 0, unknown; 1 Windows; 2 iPhone ; 3 iPad ; 4 Android Phone ; 5 Android Pad ; 6 Mac;
└ ClientIPstringIP of user (the last section is hidden)

Example #

{
    "ClassID": 290274,
    "ActionTime": 1521547218,
    "UID": 1001920,
    "CourseID": 122982,
    "TimeStamp": 1521547219,
    "Cmd": "Check",
    "_id": "5ab0f7d2a3251e6e49b9e88b",
    "SID": 1001920,
    "SafeKey": "7e0a589d8fd68a82a523ac86c95c9d1d",
    "Data": {
        "MicrophoneArbitrary": null,
        "ClassInVersion": "2.1.1.60",
        "EEO_AUDIO_OUTPUT_NAME": "\u626c\u58f0\u5668 (Realtek High Definition Au",
        "FrameLoss": "",
        "EEO_AUDIO_DEVICE_NAME": "\u9ea6\u514b\u98ce (HD Webcam C270)",
        "CameraImpersonal": 0,
        "addTime": 1521547218,
        "CPU": "Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz",
        "OperatingSystem": "Windows 10 (1709)",
        "Mac": "00:15:5D:33:74:C4",
        "CameraArbitrary": null,
        "EEO_VIDEO_DEVICE_NAME": "Logitech HD Webcam C270",
        "ServerName": "EEO-A0134 (Auto)",
        "HeadphoneAttachment": "",
        "ClientIP": "10.0.1.*",
        "MicrophoneAttachment": "https://root_url/upload/autocheck/",
        "EEO_DEVICE_LIST": "{\"camera\": [\"Logitech HD Webcam C270\"], \"micphone\": [\"HD Webcam C270\"], \"speaker\": [\"LG HDR 4K\"]}",
        "MicrophoneImpersonal": 0,
        "CameraAttachment": "",
        "HeadphoneArbitrary": null,
        "InfoSource": 3,
        "NetworkDelay": ""
    }
}


Teachers and students in the classroom seeking for help #

Trong lớp học đang diễn ra, GV và HS (chỉ khi nhà trường bật “Cài đặt học viên tìm trợ giúp”) có thể bấm icon hình cái chuông ở góc trên cùng bên phải màn hình để nhờ trợ giúp từ bộ phận vận hành/kỹ thuật của nhà trường đang trực và theo dõi tại Trang quản lý (Dashboard) – Giám sát (Monitor). Khi có tin nhắn tìm trợ giúp từ GV/HS thì dữ liệu tương ứng sẽ được gửi về theo thời gian thực

 

KeyĐịnh dạngMô tả
CmdStringcmd=’HelpInfo’
ClassIDintID lớp học
Datajson objectChi tiết
└ UIDintUID của người dùng
└ MessagestringNội dung tin nhắn tìm trợ giúp
└ UserListint arrayUID của những người dùng khác trong lớp học

Example #


{
    "SID": 1000958,
    "ClassID": 301417,
    "Data": {
        "UID": 1001558,
        "Message": "Speaker is abnormal. The user can't hear sound",
        "UserList": [1001558, 123456]
    },
    "Cmd": "HelpInfo"
}


Extend the class duration #

Trong vòng 8-3 phút trước khi lớp học kết thúc, GV sẽ được thao tác để kéo dài thời gian lớp học thêm 15 hoặc 30 phút (chỉ khi nhà trường bật “Cài đặt mở rộng thời gian lớp học“). Nếu giáo viên chọn kéo dài thời gian học thì dữ liệu sẽ được gửi về theo thời gian thực

KeyĐịnh dạngMô tả
CmdStringcmd=’ClassLen’
StartTimeInt32Thời gian bắt đầu lớp học (unix timestamp)
PrelectTimeLengthInt32Thời lượng lớp học sau khi chọn kéo dài (tính bằng giây)
CloseClassDelayInt32Thời gian kéo dài lớp học (tính bằng giây)

Example #


{
    "SID": 1000958,
    "StartTime": 1568862650,
    "PrelectTimeLength": 1200,
    "CloseClassDelay": 1200,
    "Cmd": "ClassLen"
}

Recording start #

Gửi dữ liệu thông báo mỗi khi ghi hình lớp học được bắt đầu (mỗi lần GV rời lớp và vào lại sau đó bấm bắt đầu ghi hình)

KeyĐịnh dạngMô tả
CmdStringcmd=’LiveDetail’
Datajson objectChi tiết
└ Audio modestringChế độ thu: ‘ClassIn Audio’ nghĩa là chỉ có âm thanh trong lớp được thu lại. ‘System Audio’ nghĩa là cả âm thanh trong lớp & âm thanh của cả thiết bị đều được thu lại (ví dụ: âm thanh của những ứng dụng khác đang được mở ngoài lớp học vẫn được thu lại trong video ghi hình)
└ HighBitRatestringBitRate: ‘High’ hoặc ‘Standard’ (normal)
└ IPstringPush IP: có thể là tên miền ‘livepush.eeo.cn’ hoặc một địa chỉ IP cụ thể
└ Micphone is recordedstringMicrophone có đang được thu không: ‘Yes’ hoặc ‘No’
└ Video Scopestring‘Toàn bộ màn hình’  đang được thu hình hay chỉ mỗi ‘Màn hình lớp học’
└ Video SizestringKích thước Video ghi hình: ‘HD(1280*720)’ hoặc ‘FHD(1920*1080)’

Example #

{
    "SID": 1001920,
    "Data": {
        "Audio mode": "ClassIn Audio",
        "HighBitRate": "Standard",
        "IP": "livepush.eeo.cn",
        "Micphone is recorded": "Yes",
        "Video Scope": "Desktop",
        "Video Size": "HD(1280*720)"
    },
    "ClassID": 392429,
    "Cmd": "LiveDetail"
}

Blackboard content #

Mỗi khi giáo viên dùng chức năng xóa toàn bộ bảng đen (clear all) hoặc khi lớp học kết thúc, hệ thống sẽ chuyển đổi dữ liệu trên bảng đen thành định dạng hình ảnh và gửi về theo thời gian thực

 

KeyĐịnh dạngMô tả
CmdStringcmd=’EdbImg’
UrlStringURL hình ảnh nội dung bảng đen để tải về
GroupIdintGroupID biểu thị nội dung này thuộc về bảng đen của group nào (khi GV sử dụng chức năng chia).
GroupID=0 là nội dung từ bảng đen chính. Nếu trong lớp, GV không sử dụng chức năng Chia nhóm học tập (Breakout Room) thì GroupID sẽ luôn là 0 

Example #


{
    "SID": 1001920,
    "ClassID": 393472,
    "Url": "http://www.eeo.cn/20200819/20200819_393472_0_bb_151823_853.jpg",
    "GroupId": 0,
    "Cmd": "EdbImg"
}

[Livestream] Audience’s info when log-in #

Khi tạo một lớp học livestream từ hệ thống của ClassIn, nhà trường có thể thiết lập yêu cầu người xem đăng nhập để xem. Khi lớp học đang diễn ra, dữ liệu đăng nhập của người dùng sẽ được gửi về theo thời gian thực ngay khi họ đăng nhập thành công. Hệ thống sẽ không gửi dữ liệu người dùng đăng nhập khi lớp học đã kết thúc và khi người dùng đăng nhập vào coi video phát lại livestream



KeyĐịnh dạngMô tả
CmdStringcmd=’LiveWebLogin’
ClassIDintID lớp học
Datajson objectChi tiết
└ TelephoneStringSố điện thoại/email người dùng sử dụng để đăng nhập
└ LoginTimeintThời gian đăng nhập (unix timestamp)
└ NicknameStringBiệt danh (Tên hiển thị trong lớp của người dùng)

Example #


{
    "SID": 1000958,
    "ClassID": 301417,
    "Data": {
        "Telephone": "10015584345",
        "LoginTime": 1521547219,
        "Nickname": "XiaoMing"
    },
    "Cmd": "LiveWebLogin"
}


[Livestream] Audience reservation #

Khi truy cập vào URL của lớp livestream trước khi lớp học diễn ra, người dùng sẽ nhìn thấy nút “Đặt chỗ”, tính năng này cho phép hệ thống gửi thông báo nhắc nhở người dùng vào xem khi livestream bắt đầu. Hệ thống gửi thông tin của người dùng đã thao tác đặt chỗ xem livestream theo thời gian thực

 

KeyĐịnh dạngMô tả
CmdStringcmd=’LiveReserve’
ClassIDintID lớp học
DataobjectChi tiết
└ TelephoneStringThông tin tài khoản của người dùng đã thao tác đặt chỗ (SĐT/Email)
└ ReserveTimeintThời gian đặt chỗ thành công (Unix timestamp)

Example #



{ "SID": 100088, "ClassID": 10086, "Cmd": "LiveReserve", "Data": { "Telephone": "15201114553", "ReserveTime": 1625108250 } }


[Livestream] Audience details #

Gửi dữ liệu của người vào xem livestream theo thời gian thực

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ẽ đẩy 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 mốc đối chiếu và chỉ lưu trữ dữ liệu có LookTime lớn nhất.

 

KeyĐịnh dạngMô tả
CmdStringcmd=’LiveDataDetail’
ClassIDintID lớp học
DataobjectChi tiết
└ TelephoneStringTà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_’
└ NicknameStringBiệt danh (Tên hiển thị trong lớp học của người dùng)
└ IntimeintThời gian người dùng truy cập vào trang livestream (Unix timestamp)
└ LookTimeintThời lượng người dùng xem livestream (tính theo giây)
└ IPStringIP của người dùng
└ ClientTypeintThiết bị: 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": "LiveDataDetail", "Data": { "Telephone": "15201114553", "Nickname": "husky2021", "Intime": 1625108250, "LookTime": 60, "Ip": "127.0.0.1", "ClientType": 1 } }


[Livestream] Like details #

Khi xem livestream, người dùng có thể nhấn nút ‘Thích’. Dữ liệu này sẽ được gửi về theo thời gian thực

 

KeyTypeInstruction
CmdStringcmd=’LiveLike’
ClassIDintID lớp học
DataobjectChi tiết
└ TelephoneStringTà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_’
└ TimeintThời gian người dùng nhấn “Thích” (Unix timestamp)

Example #

{
    "SID": 100088,
    "ClassID": 10086,
    "Cmd": "LiveLike",
    "Data": {
        "Telephone": "15201114553",
        "Time": 1625108250
    }
}


[Livestream] Products/goods clicking #

Dữ liệu người dùng nhấn xem sản phẩm trên livestream sẽ được gửi về theo thời gian thực


KeyĐịnh dạngMô tả
CmdStringcmd=’LiveGoodsClickDetail’
ClassIDintID lớp học
DataobjectChi tiết
└ TelephoneStringTà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_’
└ NicknameStringBiệt danh (Tên hiển thị trong lớp học của người dùng)
└ TimeintThời gian người dùng truy cập vào trang livestream (Unix timestamp)
└ GoodNumintID của sản phẩm
└ GoodNameStringTên của sản phẩm


Example #

{
    "SID": 100088,
    "ClassID": 10086,
    "Cmd": "LiveGoodsClickDetail",
    "Data": {
        "Telephone": "15201114553",
        "Nickname": "husky2021",
        "Time": 1625108250,
        "GoodNum": 60,
        "GoodName": "Gone with Wind"
    }
}


[Livestream] Live chat messages #

Dữ liệu trò chuyện của người dùng trên trang livestream sẽ được gửi về theo thời gian thực

 

KeyĐịnh dạngMô tả
CmdStringcmd=’LiveChatMsgDetail’
ClassIDIntegerID lớp học
DataObjectChi tiết
  └ AccountStringTà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_’
  └ NicknameStringBiệt danh (Tên hiển thị trong lớp học của người dùng)
  └ TimeStampIntegerThời gian (Unix timestamp)
  └ IPStringIP người dùng
  └ MsgDetailObject 
    └ msgStringHiển thị nội dung trò chuyện hoặc URL của hình ảnh được đính kèm
    └ typeIntegertype: 1-text, 2-image
    └ extObjectDữ liệu mở rộng (có thể tạm thời bỏ qua dữ liệu này) {\”role\”:99,\”roleid\”:\”AfJ46f24h\”,\”messageID\”:\”AfJ46f24h-1739263873\”,\”mark\”:\”\”}

Example #

{
    "SID": 100086,
    "ClassID": 4185167,
    "ActionTime": 1740042947,
    "SafeKey": "33cc7cfb43315a0057f828f15b70937e",
    "Cmd": "LiveChatMsgDetail",
    "_id": "67b6f2c3ab842f6ad5f86720",
    "Data": {
        "MsgDetail": {
            "msg": "Very well explained",
            "ext": {
                "roleid": "BHH8Ddsm3",
                "messageID": "BHH8Ddsm3-1740042946",
                "role": 1,
                "mark": ""
            },
            "type": 1
        },
        "Account": "12345678901",
        "Nickname": "Zhang San",
        "TimeStamp": 1740042947,
        "IP": "101.251.219.198"
    }
}