事件通知
iClick 通过 WebSocket 主动推送各种事件通知,让你的应用能够实时响应设备状态变化、USB 连接状态等事件。
事件格式
服务端推送的事件格式:
json
{
"type": "event",
"event": "事件名称",
"data": { /* 事件数据 */ }
}字段说明:
type(string): 固定为"event",表示这是一个事件推送event(string): 事件名称,用于区分不同类型的事件data(object): 事件携带的数据,根据不同事件类型而定
事件列表
设备事件
| 事件名称 | 说明 | 触发时机 |
|---|---|---|
device:online | 设备上线 | 当 iOS 设备连接到 iClick 时触发 |
device:offline | 设备离线 | 当 iOS 设备断开连接时触发 |
device:reject | 设备拒绝连接 | 当设备因权限问题无法连接时触发 |
device:delete | 设备删除 | 当设备从设备列表中被删除时触发 |
device:busy | 设备忙碌 | 当设备开始执行任务时触发 |
device:idle | 设备空闲 | 当设备完成任务变为空闲状态时触发 |
device:rename | 设备重命名 | 当设备名称被修改时触发 |
device:bindchip | 设备绑定芯片 | 当设备与 USB 芯片板绑定时触发 |
USB 事件
| 事件名称 | 说明 | 触发时机 |
|---|---|---|
usb:plug | USB 插入 | 当 USB 芯片板连接时触发 |
usb:unplug | USB 拔出 | 当 USB 芯片板断开时触发 |
事件举例
device:online
设备上线事件,当 iOS 设备成功连接到 iClick 时触发。
事件数据:
json
{
"type": "event",
"event": "device:online",
"data": {
"info": {
"deviceName": "我的 iPhone",
"deviceIdentifier": "iPhone15,2",
"deviceChip": "XXXXXXXX",
"screenWidth": 1179,
"screenHeight": 2556,
"orientation": 1,
"screenScale": 3.0,
"deviceVersion": "17.0",
"deviceRounded": true
},
"plugged": true,
"time": 1697472000,
"online": true
}
}