Skip to main content
CometChat provides 5 listeners viz.
  1. UserListener
  2. GroupListener
  3. MessageListener
  4. ConversationListener
  5. AIAssistantListener
With offline support enabled, four more listeners report what the SDK does on the device; see Offline listeners.

User Listener

The UserListener class provides you with live events related to users. Below are the callback methods provided by the UserListener class. To add the UserListener, you need to use the addUserListener() method provided by the CometChat class.
where UNIQUE_LISTENER_ID is the unique identifier for the listener. Please make sure that no two listeners are added with the same listener id as this could lead to unexpected behavior resulting in loss of events. Once the activity/fragment where the UserListener is declared is not in use, you need to remove the listener using the removeUserListener() method which takes the id of the listener to be removed as the parameter. We suggest you call this method in the onPause() method of the activity/fragment.

Group Listener

The GroupListener class provides you with all the real-time events related to groups. Below are the callback methods provided by the GroupListener class. To add the GroupListener, you need to use the addGroupListener() method provided by the CometChat class.
where UNIQUE_LISTENER_ID is the unique identifier for the listener. Please make sure that no two listeners are added with the same listener id as this could lead to unexpected behavior resulting in loss of events. Once the activity/fragment where the GroupListener is declared is not in use, you need to remove the listener using the removeGroupListener() method which takes the id of the listener to be removed as the parameter. We suggest you call this method in the onPause() method of the activity/fragment.

Message Listener

The MessageListener class provides you with live events related to messages. Below are the callback methods provided by the MessageListener class.
With offline support enabled, MessageListener also receives onMessagesSynced after the SDK catches up on reconnect. It carries updates to already-cached messages that changed while offline (reactions, edits, deletes and receipts); messages that arrived while offline still come through the typed callbacks such as onTextMessageReceived. See Stay in Sync.
To add the MessageListener, you need to use the addMessageListener() method provided by the CometChat class.
where UNIQUE_LISTENER_ID is the unique identifier for the listener. Please make sure that no two listeners are added with the same listener id as this could lead to unexpected behavior resulting in loss of events. Once the activity/fragment where the MessageListener is declared is not in use, you need to remove the listener using the removeMessageListener() method which takes the id of the listener to be removed as the parameter. We suggest you call this method in the onPause() method of the activity/fragment.

Conversation Listener

Available since v5.0.7. The ConversationListener class delivers conversation-level events for Pin A Conversation. Conversation pins are private to the logged-in user, so these fire for the user’s own pins — on the acting device and on their other devices — and for system (app_system) pins applied server-side, never for another user’s list. To add the ConversationListener, use the addConversationListener() method provided by the CometChat class.
Remove it with CometChat.removeConversationListener("UNIQUE_LISTENER_ID") when the screen that registered it is disposed.

AI Assistant Listener

The AIAssistantListener class provides you with real-time streaming events from AI Agent runs. These events are emitted during a run lifecycle and include tool calls, card generation, and text message streaming. For a complete overview of the event lifecycle, see AI Agents. To add the AIAssistantListener, use the addAIAssistantListener() method provided by the CometChat class.
To remove the listener:
The AIAssistantListener delivers real-time streaming events. After a run completes, persisted agentic messages (AIAssistantMessage, AIToolResultMessage, AIToolArgumentMessage) are delivered via the MessageListener callbacks listed above.

Offline listeners

With offline support enabled (cometchat_sdk 5.1.0+), these listeners report what the SDK does on the device rather than events from the server. Each is documented with examples on its own page.