# 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

# registerAsyncEventListener()

To register a callback for a specific event.

AIHelpSupport.registerAsyncEventListener(YOUR_EVENT, new AsyncEventListener() {
    @Override
    public void onAsyncEventReceived(String jsonEventData, Acknowledgment ack) {
        // You can get callback here if the target event is fired
        // checkout at the definition and code examples for more information
    }
});

# unregisterAsyncEventListener()

To unregister a callback for a specific event.

AIHelpSupport.unregisterAsyncEventListener(YOUR_EVENT);

# 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: AsyncEventListener
  • Details: Required The callback for registering an event.
  • Explanation:
    public interface AsyncEventListener {
      /**
       * Called when an event is triggered.
       *
       * @param jsonEventData JSON formatted event data
       * @param ack Callback interface to acknowledge to AIHelp
       */
      void onAsyncEventReceived(String jsonEventData, Acknowledgment ack);
    }
    
    public interface Acknowledgment {
      /**
       * Some events may require sending results back to AIHelp. Use this callback
       * method to send acknowledgment.
       *
       * Currently required for these events:
       * 1. `EventType.ENTERPRISE_AUTH`: Enterprise authentication. Send the user token
       *    back via the `token` field.
       * 2. `EventType.UPLOAD_LOG`: Log upload. Send upload results or other information
       *    via the `content` field.
       *
       * @param jsonAckData JSON formatted acknowledgment data
       */
      void acknowledge(String jsonAckData);
    }
    

# Enumeration

# Initialization

# Logging In

# Authentication

# Unread Message

# Unread Task

# Uploading Logs

# Clicking URLs

  • Enum: EventType.URL_CLICK
  • Data: { "url": "https://your.target.url?js-bridge=enable" }
  • ACK: -
  • Details: When links containing js-bridge=enable as 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: -
Last Updated: 8/16/2024, 10:59:25 AM