# Events
We'll broadcast several events on the fly. You can subscribe to the relevant events to handle your own logic.
Note
All callbacks for subscribed events will be executed in a background thread. Please be cautious when manipulating UI elements.
# API
# RegisterAsyncEventListner()
To register a callback for a specific event.
FAIHelpForUEModule::Get().GetAIHelp()->RegisterAsyncEventListener(
YOUR_EVENT,
[](const char *jsonData, Acknowledge ack) {
// You can get callback here if the target event is fired
// checkout at the definition and code examples for more information
}
);
# UnregisterAsyncEventListner()
To unregister a callback for a specific event.
FAIHelpForUEModule::Get().GetAIHelp()->UnregisterAsyncEventListener();
# Definition
# eventType
- Type:
EventType - Details: Required All Events may be triggered. It's worthing noting that different events may carry different parameters, some may need a acknowledge callback.
# asyncEventListener
- Type:
(const char *jsonEventData, void (*acknowledge)(EventType eventType, const char *jsonAckData)) - Details: Required The callback for registering an event.
- Explanation:
jsonEventData: Event data in JSON formatacknowledge: Use this callback method to send acknowledgment for several eventseventType: Current eventjsonAckData: Acknowledge data in JSON format
# Enumeration
# Initialization
- Enum: EventType.INITIALIZATION
- Data:
{ "isSuccess": true, "message": "Success" } - ACK:
-
# Logging In
- Enum: EventType.USER_LOGIN
- Data:
{ "code": 1, "message": "Success" } - ACK:
-
# Authentication
- Enum: EventType.ENTERPRISE_AUTH
- Data:
- - ACK:
{ "token": "this_is_your_authenticated_token" }
# Unread Message
- Enum: EventType.MESSAGE_ARRIVAL
- Data:
{ "msgCount": 1 } - ACK:
-
# Unread Task
- Enum: EventType.UNREAD_TASK_COUNT
- Data:
{ "taskCount": 1 } - ACK:
-
# Uploading Logs
- Enum: EventType.LOG_UPLOAD
- Data:
- - ACK:
{ "content": "this_is_your_authenticated_token" }
# Clicking URLs
- Enum:
EventType.URL_CLICK - Data:
{ "url": "https://your.target.url?js-bridge=enable" } - ACK:
- - Details: When links containing
js-bridge=enableas parameters are clicked, this event is triggered.
# Conversation Start
- 枚举值:
EventType.CONVERSATION_START - 数据:
{ "message": "this is the first message user sent" } - ACK:
-
# Opening AIHelp
- Enum:
EventType.SESSION_OPEN - Data:
- - ACK:
-
# Closing AIHelp
- Enum:
EventType.SESSION_CLOSE - Data:
- - ACK:
-