功能说明
App 后台可以通过该回调实时查看房间用户上下线状态变更。
注意事项
要启用回调,必须配置回调 URL,并打开本条回调协议对应的开关,回调功能需要自行在控制台配置,详细操作步骤可参见 控制台回调配置 。
回调的方向是 Live 后台向 App 后台发起 HTTP POST 请求。
App 后台在收到回调请求之后,务必校验请求 URL 中的参数 SDKAppID 是否是自己的 SDKAppID。
房间一旦解散后,该房间对应的成员状态变更回调就会立刻停止。房间解散可监听 解散房间之后回调。
可能触发该回调的场景
用户调用 SDK 接口进入房间,离开房间。
用户房间心跳超时 90s~110s 后和心跳恢复。
回调发生时机
房间创建成功之后。
接口说明
请求 URL 示例
以下示例中 App 配置的回调 URL 为
https://www.example.com。
示例:https://www.example.com?SdkAppid=$SDKAppID&CallbackCommand=$CallbackCommand&contenttype=json
请求参数说明
参数 | 说明 |
https | 请求协议为 HTTPS,请求方式为 POST。 |
www.example.com | 回调 URL。 |
SdkAppid | 创建应用时在即时通信 IM 控制台分配的 SDKAppID。 |
CallbackCommand | 固定为 Live.CallbackAfterMemberStateChanged。 |
contenttype | 固定值为 json。 |
请求包示例
{"CallbackCommand":"Live.CallbackAfterMemberStateChanged","RoomId":"room_id","EventType":"Online", //Online, Offline 上下线两种"EventCause":"Enter", //分为以下四种 进房 Enter, 退房 Leave, 心跳断线 HeartbeatInterrupt, 心跳恢复 HeartbeatRecover"MemberList":[{"Member_Account": "jared"},{"Member_Account": "tommy"}],"EventTime":1703589922780}
请求包字段说明
字段 | 类型 | 说明 |
CallbackCommand | String | 回调命令。 |
RoomId | String | 房间 ID。 |
EventType | String | 事件类型,分为房间成员上线和下线两种:Online,Offline。 |
EventCause | String | 事件缘由,分为以下四种 进房 Enter,退房 Leave,心跳断线 HeartbeatInterrupt,心跳恢复 HeartbeatRecover。 |
MemberList | Array | 涉及的成员列表。 |
Member_Account | String | 账号 ID。 |
EventTime | Integer | 事件触发的毫秒级别时间戳。 |
应答包示例
App 后台同步数据后,发送回调应答包。
{"ActionStatus": "OK","ErrorInfo": "","ErrorCode": 0 // 忽略回调结果}
应答包字段说明
字段 | 类型 | 属性 | 说明 |
ActionStatus | String | 必填 | 请求处理的结果,OK 表示处理成功,FAIL 表示失败。 |
ErrorCode | Integer | 必填 | 错误码,此处填0表示忽略应答结果。 |
ErrorInfo | String | 必填 | 错误信息。 |
参考
第三方回调简介