# 事件广播
我们会对某些事件进行广播,你可以通过订阅相关的事件来进行相应的逻辑处理。
注意
所有的事件回调都在后台线程中执行,请谨慎操作 UI 元素。
# API
# registerAsyncListener:eventType:
调用此方法注册某个事件的回调。
void listener(const char *jsonData, void (*acknowledge)(const char *jsonAckData)) {
// You can get callback here if the target event is fired
// checkout at the definition and code examples for more information
}
[AIHelpSupportSDK registerAsyncListener:listener eventType:YOUR_EVENT];
# unregisterAsyncListenerWithEvent:
调用此方法解除对某个事件的监听。
[AIHelpSupportSDK unregisterAsyncListenerWithEvent:YOUR_EVENT];
# 参数释义
# eventType
- 类型:
AIHelpEventType
- 详情:必传参数。 所有 AIHelp 可能会触发的事件。不同的事件可能会携带不同的参数,有些事件可能还会要求回执。
# asyncEventListener
- 类型:
(const char *jsonEventData, void (*acknowledge)(const char *jsonAckData))
- 详情:必传参数。 针对事件的注册回调接口。
- 接口签名说明:
jsonEventData
: 事件数据,格式为 json 字符串acknowledge
: 调用此回调方法发送事件的回执结果jsonAckData
: 回执数据,格式为 json 字符串
# 事件枚举
# 初始化
- 枚举值:AIHelpEventInitialization
- 数据:
{ "isSuccess": true, "message": "Success" }
- ACK:
-
# 用户登录
- 枚举值:AIHelpEventUserLogin
- 数据:
{ "code": 1, "message": "Success" }
- ACK:
-
# 企业授权
- 枚举值:AIHelpEventEnterpriseAuth
- 数据:
-
- ACK:
{ "token": "this_is_your_authenticated_token" }
# 未读消息
- 枚举值:AIHelpEventMessageArrival
- 数据:
{ "msgCount": 1 }
- ACK:
-
# 未读工单
- 枚举值:AIHelpEventUnreadTaskCount
- 数据:
{ "taskCount": 1 }
- ACK:
-
# 日志上传
- 枚举值:AIHelpEventLogUpload
- 数据:
-
- ACK:
{ "content": "this_is_your_authenticated_token" }
# 链接点击
- 枚举值:
AIHelpEventUrlClick
- 数据:
{ "url": "https://your.target.url?js-bridge=enable" }
- ACK:
-
- 说明:参数包含
js-bridge=enable
的链接被点击的时候,该事件就会被触发
# 对话开始
- 枚举值:
AIHelpEventConversationStart
- 数据:
{ "message": "this is the first message user sent" }
- ACK:
-
# 窗口打开
- 枚举值:
AIHelpEventSessionOpen
- 数据:
-
- ACK:
-
# 窗口关闭
- 枚举值:
AIHelpEventSessionClose
- 数据:
-
- ACK:
-