文档中心
RoomKit RoomKit
文档中心
体验 App
SDK 中心
API 中心
常见问题
代码市场
进入控制台
立即注册
登录
中文站 English
  • 文档中心
  • RoomKit
  • 服务端 API
  • RoomKit 服务端 API
  • 服务端事件回调

服务端事件回调

更新时间:2022-06-17 19:25

1 描述

ZegoRoomKit 后台针对某些事件开放了事件通知,开发者后台可以基于这些事件来进行房间的管理。

开发者需提供“回调地址”和“加密参数”。ZegoRoomKit 后台在指定事件发生后,通过接口调用的方式通知开发者后台,开发者后台返回 200 则认为调用成功,否则会进行重试。默认重试两次,分别在 1 s、5 s 后发起。

开发者提供的回调接口,必须在 5 s 内正确响应,否则判定为超时。

本接口的使用方法请参考 使用服务端事件回调。

2 事件定义

2.1 房间事件

事件类型 事件描述 触发场景
1 结束房间
  • 由老师或者企业管理人员主动关闭房间。
  • 房间长时间无人在线后自动关闭。
2 进入房间 用户进入房间。
3 离开房间
  • 用户离开房间。
  • 用户长时间断线导致心跳失活。
4 开始上课 老师点击开始上课。
5 移出房间 老师或者助教人员将用户移出房间。
6 挂起房间

如果房间内持续 30 分钟无人在线,Roomkit 后台会挂起房间。

“挂起房间”不等于结束房间,可应用在“暂停云录制”的场景中。

7 变更房间模式

变更房间模式:

  • 1:视频模式
  • 2:共享模式

下图展示了在一种典型业务流程中各个事件回调触发的时机:

/Pics/RoomKit/AllPlatform/RoomKit_Callback.png

2.1.1 结束房间事件

通知消息体:

参数 类型 描述
event_type Int 事件类型。
room_id String 结束的房间 ID。
timestamp Int64 时间戳,毫秒级。

数据示例:

{
    "event_type": 1,
    "room_id": "19827033659",
    "timestamp": 1614149165898
}

2.1.2 进入房间事件

通知消息体:

参数 类型 描述
event_type Int 事件类型。
room_id String 房间 ID。
timestamp Int64 时间戳,毫秒级。
uid Int64 用户 ID。
nickname String 用户昵称。
role Int 用户角色:
1:老师
2:学生

数据示例:

{
    "event_type": 2,
    "nickname": "微信",
    "role": 2,
    "room_id": "19826903716",
    "timestamp": 1614149159658,
    "uid": 32614149156788
}

2.1.3 离开房间事件

通知消息体:

参数 类型 描述
event_type Int 事件类型。
room_id String 房间 ID。
timestamp Int64 时间戳,毫秒级。
uid Int64 用户 ID。
nickname String 用户昵称。
role Int 用户角色:
1:老师
2:学生

数据示例:

{
    "event_type": 3,
    "nickname": "谷歌",
    "role": 2,
    "room_id": "19826903716",
    "timestamp": 1614149175582,
    "uid": 32614149031156
}

2.1.4 开始上课事件

通知消息体:

参数 类型 描述
event_type Int 事件类型。
room_id String 房间 ID。
timestamp Int64 时间戳,毫秒级。

数据示例:

{
    "event_type": 4,
    "room_id": "19827033659",
    "timestamp": 1614149165898
}

2.1.5 移出房间事件

通知消息体:

参数 类型 描述
event_type Int 事件类型。
room_id String 房间 ID。
timestamp Int64 时间戳,毫秒级。
uid Int64 用户 ID。
nickname String 用户昵称。
role Int

用户角色:

  • 1:老师
  • 2:学生
kick_out_type Int

移出事件类型:

  • 1:被老师或者助教移出。
  • 2:被服务端接口移出。
  • 3:由于多端同时登录,导致其中一端被强制下线。

数据示例:

{
    "event_type": 5,
    "nickname": "谷歌",
    "role": 2,
    "room_id": "19826903716",
    "timestamp": 1614149175582,
    "uid": 32614149031156,
    "kick_out_type": 1
}

2.1.6 挂起房间事件

通知消息体:

参数 类型 描述
event_type Int 事件类型。
room_id String 房间 ID。
timestamp Int64 时间戳,毫秒级。

数据示例:

{
    "event_type": 6,
    "room_id": "19826903716",
    "timestamp": 1614149175582
}

2.1.7 变更房间模式事件

通知消息体:

参数 类型 描述
event_type Int 事件类型。
room_id String 房间 ID。
timestamp Int64 时间戳,毫秒级。
room_mode Int

变更后的房间模式:

  • 1:视频模式
  • 2:共享模式

数据示例:

{
    "event_type": 7,
    "room_id": "19826903716",
    "timestamp": 1614149175582,
    "room_mode": 2
}

2.2 白板事件

事件类型 事件描述 触发场景
101 正在共享的白板 ID 切换事件
  • 共享白板或者共享文件。
  • 切换共享内容或者页签。

2.2.1 正在共享的白板 ID 切换事件

通知消息体:

参数 类型 描述
event_type Int 事件类型。
room_id String 房间 ID。
timestamp Int64 时间戳,毫秒级。
whiteboard_id String 白板 ID。

数据示例:

{
    "event_type": 101,
    "room_id": "20082191900",
    "timestamp": 1617786314436,
    "whiteboard_id": "1438507235"
}
本篇目录
  • 免费试用
  • 提交工单
    咨询集成、功能及报价等问题
    电话咨询
    400 1006 604
    咨询客服
    微信扫码,24h在线

    联系我们

  • 文档反馈