15 KiB
order, icon
| order | icon |
|---|---|
| 2 | material-symbols:u-turn-left |
回调消息协议
::: info 注意 回调消息随版本更新飞速迭代中,本文档可能过时。如需获取最新内容可参考 C# 集成源码 :::
回调函数原型
typedef void(ASST_CALL* AsstCallback)(int msg, const char* details, void* custom_arg);
参数总览
-
int msg
消息类型enum class AsstMsg { /* Global Info */ InternalError = 0, // 内部错误 InitFailed = 1, // 初始化失败 ConnectionInfo = 2, // 连接相关信息 AllTasksCompleted = 3, // 全部任务完成 AsyncCallInfo = 4, // 外部异步调用信息 Destroyed = 5, // 实例已销毁 /* TaskChain Info */ TaskChainError = 10000, // 任务链执行/识别错误 TaskChainStart = 10001, // 任务链开始 TaskChainCompleted = 10002, // 任务链完成 TaskChainExtraInfo = 10003, // 任务链额外信息 TaskChainStopped = 10004, // 任务链手动停止 /* SubTask Info */ SubTaskError = 20000, // 原子任务执行/识别错误 SubTaskStart = 20001, // 原子任务开始 SubTaskCompleted = 20002, // 原子任务完成 SubTaskExtraInfo = 20003, // 原子任务额外信息 SubTaskStopped = 20004, // 原子任务手动停止 /* Web Request */ ReportRequest = 30000, // 上报请求 }; -
const char* details
消息详情,json 字符串,详见 字段解释 -
void* custom_arg
调用方自定义参数,会原样传出AsstCreateEx接口中的custom_arg参数,C 系语言可利用该参数传出this指针
字段解释
InternalError
details 字段为空。
InitFailed
:::: field-group
::: field name="what" type="string" required
错误类型。
:::
::: field name="why" type="string" required
错误原因。
:::
::: field name="details" type="object" required
错误详情。
:::
::::
ConnectionInfo
:::: field-group ::: field name="what" type="string" required 信息类型。 ::: ::: field name="why" type="string" required 信息原因。 ::: ::: field name="uuid" type="string" 设备唯一码(连接失败时为空)。 ::: ::: field name="details" type="object" required 连接详情。其结构如下:
adb(string, required):AsstConnect接口adb_path参数。address(string, required):AsstConnect接口address参数。config(string, required):AsstConnect接口config参数。
::: ::::
常见 What 字段
-
ConnectFailed
连接失败 -
Connected
已连接,注意此时的uuid字段值为空(下一步才是获取) -
UuidGot
已获取到设备唯一码 -
UnsupportedResolution
分辨率不被支持 -
ResolutionError
分辨率获取错误 -
Reconnecting
连接断开(adb / 模拟器 炸了),正在重连 -
Reconnected
连接断开(adb / 模拟器 炸了),重连成功 -
Disconnect
连接断开(adb / 模拟器 炸了),并重试失败 -
ScreencapFailed
截图失败(adb / 模拟器 炸了),并重试失败 -
TouchModeNotAvailable
不支持的触控模式 -
ResolutionGot
已获取到分辨率 -
FastestWayToScreencap
已找到最快的截图方式,details结构如下:method(string, required): 最快的截图方式。cost(number, required): 耗时,单位毫秒。alternatives(array