Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions sdk/flutter/ai-agents.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "AI Agents"
description: "Learn how to integrate AI Agents in your Flutter app to process messages, trigger tools, and respond with context."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Learn how to integrate AI Agents in your Flutter app to process messages, trigger tools, and respond with context. |
| Key methods | `addAIAssistantListener()` · `addMessageListener()` · `removeAIAssistantListener()` |
| Key classes | `AIAssistantMessage` · `Call` · `CometChatCardView` · `AIAssistantBaseEvent` · `AIAssistantCardEndedEvent` · `AIAssistantCardReceivedEvent` · `AIAssistantCardStartedEvent` · `AIToolArgumentMessage` |
| Listener callbacks | `onAIAssistantEventReceived()` · `onAIAssistantMessageReceived()` · `onAIToolArgumentsReceived()` · `onAIToolResultReceived()` · `onCardMessageReceived()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Full reference | [`AIAssistantMessage`](/sdk/reference/messages#aiassistantmessage) · [`Call`](/sdk/reference/messages#call) · [`AIAssistantBaseEvent`](/sdk/reference/messages#aiassistantbaseevent) · [`AIAssistantCardEndedEvent`](/sdk/reference/messages#aiassistantcardendedevent) · [`AIAssistantCardReceivedEvent`](/sdk/reference/messages#aiassistantcardreceivedevent) · [`AIAssistantCardStartedEvent`](/sdk/reference/messages#aiassistantcardstartedevent) |

</Accordion>

# AI Agents Overview

AI Agents enable intelligent, automated interactions within your application. They can process user messages, trigger tools, and respond with contextually relevant information. For a broader introduction, see the [AI Agents section](/ai-agents).
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/ai-moderation.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "AI Moderation"
description: "Automatically review CometChat messages for inappropriate content in Flutter apps using AI moderation rules and message status updates."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Automatically review CometChat messages for inappropriate content in Flutter apps using AI moderation rules and message status updates. |
| Key methods | `addMessageListener()` · `removeMessageListener()` · `sendMessage()` |
| Key classes | `TextMessage` · `BaseMessage` · `CometChatException` · `MediaMessage` |
| Listener callbacks | `onMessageModerated()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Full reference | [`TextMessage`](/sdk/reference/messages#textmessage) · [`BaseMessage`](/sdk/reference/messages#basemessage) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) · [`MediaMessage`](/sdk/reference/messages#mediamessage) |

</Accordion>

## Overview

AI Moderation in the CometChat SDK helps ensure that your chat application remains safe and compliant by automatically reviewing messages for inappropriate content. This feature leverages AI to moderate messages in real-time, reducing manual intervention and improving user experience.
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/authentication-overview.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -4,6 +4,22 @@ sidebarTitle: "Overview"
description: "Authenticate Flutter app users with CometChat using UID login, auth tokens, session checks, logout, and backend user management."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Authenticate Flutter app users with CometChat using UID login, auth tokens, session checks, logout, and backend user management. |
| Key methods | `getLoggedInUser()` · `login()` · `loginWithAuthToken()` · `logout()` |
| Key classes | `CometChatException` · `User` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Setup](/sdk/flutter/setup) · [Login Listeners](/sdk/flutter/login-listeners) |
| Full reference | [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) · [`User`](/sdk/reference/entities#user) |

</Accordion>

To allow a user to use CometChat, the user must log in to CometChat.

**CometChat does not handle user management.** You must handle user registration and login at your end. Once the user is logged into your app/site, you can log in the user to CometChat **programmatically**. The user does not ever directly login to CometChat.
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/block-users.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Block Users"
description: "Block and unblock CometChat users in Flutter apps to stop direct communication and manage blocked user lists."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Block and unblock CometChat users in Flutter apps to stop direct communication and manage blocked user lists. |
| Key methods | `blockUser()` · `unblockUser()` |
| Key classes | `User` · `CometChatException` · `CometChatBlockedUsersDirection` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Retrieve Users](/sdk/flutter/retrieve-users) · [User Management](/sdk/flutter/user-management) |
| Full reference | [`User`](/sdk/reference/entities#user) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



## Block Users
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/campaigns.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Campaigns"
description: "Fetch notification feed items, listen for real-time delivery, mark items as read/delivered, report engagement, and retrieve unread counts in Flutter."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Fetch notification feed items, listen for real-time delivery, mark items as read/delivered, report engagement, and retrieve unread counts in Flutter. |
| Key methods | `addMessageListener()` · `addNotificationFeedListener()` · `getNotificationFeedItem()` · `getNotificationFeedUnreadCount()` · `markFeedItemAsDelivered()` · `markFeedItemAsRead()` · `markPushNotificationClicked()` · `markPushNotificationDelivered()` · `removeNotificationFeedListener()` · `reportFeedEngagement()` |
| Key classes | `CometChatException` · `CometChatCardView` · `CardMessage` · `CometChatCardActionEvent` · `CometChatCardChatWithUserAction` · `CometChatCardOpenUrlAction` · `CometChatCardThemeMode` |
| Listener callbacks | `onCardMessageReceived()` · `onFeedItemReceived()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Full reference | [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) · [`CardMessage`](/sdk/reference/messages#cardmessage) |

</Accordion>

CometChat Campaigns lets you deliver targeted, rich notifications to users via an in-app notification feed. Each notification is a **Card Schema JSON** — a structured layout rendered natively by the CometChat Cards library.

The SDK provides APIs to fetch feed items, listen for real-time delivery, mark items as read/delivered, report engagement, and retrieve unread counts.
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/connection-behaviour.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Connection Behaviour"
description: "Manage CometChat Flutter SDK WebSocket behavior with automatic connection handling, background disconnects, and manual connection mode."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Manage CometChat Flutter SDK WebSocket behavior with automatic connection handling, background disconnects, and manual connection mode. |
| Key methods | `connect()` · `disconnect()` · `init()` · `ping()` |
| Key classes | `CometChatException` · `CometChatSubscriptionType` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Connection Status](/sdk/flutter/connection-status) |
| Full reference | [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



## Default SDK behaviour on login
Expand Down
21 changes: 20 additions & 1 deletion sdk/flutter/connection-status.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,23 @@ title: "Connection Status"
description: "Monitor CometChat WebSocket connection status in Flutter apps with callbacks for connecting, connected, disconnected, and errors."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Monitor CometChat WebSocket connection status in Flutter apps with callbacks for connecting, connected, disconnected, and errors. |
| Key methods | `addConnectionListener()` · `getConnectionStatus()` |
| Key classes | `CometChatException` |
| Listener callbacks | `onConnected()` · `onConnecting()` · `onConnectionError()` · `onDisconnected()` · `onFeatureThrottled()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Connection Behaviour](/sdk/flutter/connection-behaviour) · [All Real Time Listeners](/sdk/flutter/real-time-listeners) |
| Full reference | [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



CometChat SDK provides you with a mechanism to get real-time status of the connection to CometChat web-socket servers. To achieve this you need to use the `ConnectionListener` class provided by the CometChat SDK
Expand All@@ -21,12 +38,14 @@ Once the connection is broken, the disconnected callback is triggered, the SDK a

In order to use the ConnectionListeners, you need to add the ConnectionListeners using the `addConnectionListener` method provided by the SDK. You can add multiple listeners as shown below. Just make sure you add listeners with unique IDs.

Remove a listener with `removeConnectionListener(listenerId)` when the subscriber goes away — typically in `dispose()` — passing the same ID you registered with.

<Tabs>
<Tab title="Dart">
```dart
class Class_Name with ConnectionListener {
//1. Register Connection listener
//CometChat.addConnctionListener("listenerId", this);
//CometChat.addConnectionListener("listenerId", this);

//2. Ovveride the ConnectionListener methods
@override
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/create-group.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Create A Group"
description: "Create CometChat public, private, and password-protected groups in Flutter apps with group GUID, name, type, and password."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Create CometChat public, private, and password-protected groups in Flutter apps with group GUID, name, type, and password. |
| Key methods | `createGroup()` · `createGroupWithMembers()` |
| Key classes | `Group` · `GroupMember` · `CometChatMemberScope` · `CometChatException` · `CometChatGroupType` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Join A Group](/sdk/flutter/join-group) · [Update A Group](/sdk/flutter/update-group) · [Delete A Group](/sdk/flutter/delete-group) · [Add Members To A Group](/sdk/flutter/group-add-members) |
| Full reference | [`Group`](/sdk/reference/entities#group) · [`GroupMember`](/sdk/reference/entities#groupmember) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



## Create a Group
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/delete-conversation.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Delete A Conversation"
description: "Delete one-on-one or group conversations for the logged-in user in Flutter apps using conversation ID and type."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Delete one-on-one or group conversations for the logged-in user in Flutter apps using conversation ID and type. |
| Key methods | `deleteConversation()` |
| Key classes | `Conversation` · `CometChatException` · `CometChatConversationType` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Retrieve Conversations](/sdk/flutter/retrieve-conversations) |
| Full reference | [`Conversation`](/sdk/reference/entities#conversation) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



In case you want to delete a conversation, you can use the `deleteConversation()` method.
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/delete-group.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Delete A Group"
description: "Delete CometChat groups from Flutter apps by GUID when the logged-in user has admin permissions."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Delete CometChat groups from Flutter apps by GUID when the logged-in user has admin permissions. |
| Key methods | `deleteGroup()` |
| Key classes | `Group` · `CometChatException` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Create A Group](/sdk/flutter/create-group) · [Leave A Group](/sdk/flutter/leave-group) |
| Full reference | [`Group`](/sdk/reference/entities#group) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



## Delete Group
Expand Down
17 changes: 17 additions & 0 deletions sdk/flutter/delete-message.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,23 @@ title: "Delete A Message"
description: "Delete CometChat messages in Flutter apps and handle real-time or missed message deletion events."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Delete CometChat messages in Flutter apps and handle real-time or missed message deletion events. |
| Key methods | `addMessageListener()` · `deleteMessage()` |
| Key classes | `BaseMessage` · `CometChatException` |
| Listener callbacks | `onMessageDeleted()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Send A Message](/sdk/flutter/send-message) · [Edit A Message](/sdk/flutter/edit-message) |
| Full reference | [`BaseMessage`](/sdk/reference/messages#basemessage) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



While [deleting a message](/sdk/flutter/delete-message#delete-a-message) is straightforward, receiving events for deleted messages with CometChat has two parts:
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions sdk/flutter/ai-agents.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "AI Agents"
description: "Learn how to integrate AI Agents in your Flutter app to process messages, trigger tools, and respond with context."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Learn how to integrate AI Agents in your Flutter app to process messages, trigger tools, and respond with context. |
| Key methods | `addAIAssistantListener()` · `addMessageListener()` · `removeAIAssistantListener()` |
| Key classes | `AIAssistantMessage` · `Call` · `CometChatCardView` · `AIAssistantBaseEvent` · `AIAssistantCardEndedEvent` · `AIAssistantCardReceivedEvent` · `AIAssistantCardStartedEvent` · `AIToolArgumentMessage` |
| Listener callbacks | `onAIAssistantEventReceived()` · `onAIAssistantMessageReceived()` · `onAIToolArgumentsReceived()` · `onAIToolResultReceived()` · `onCardMessageReceived()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Full reference | [`AIAssistantMessage`](/sdk/reference/messages#aiassistantmessage) · [`Call`](/sdk/reference/messages#call) · [`AIAssistantBaseEvent`](/sdk/reference/messages#aiassistantbaseevent) · [`AIAssistantCardEndedEvent`](/sdk/reference/messages#aiassistantcardendedevent) · [`AIAssistantCardReceivedEvent`](/sdk/reference/messages#aiassistantcardreceivedevent) · [`AIAssistantCardStartedEvent`](/sdk/reference/messages#aiassistantcardstartedevent) |

</Accordion>

# AI Agents Overview

AI Agents enable intelligent, automated interactions within your application. They can process user messages, trigger tools, and respond with contextually relevant information. For a broader introduction, see the [AI Agents section](/ai-agents).
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/ai-moderation.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "AI Moderation"
description: "Automatically review CometChat messages for inappropriate content in Flutter apps using AI moderation rules and message status updates."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Automatically review CometChat messages for inappropriate content in Flutter apps using AI moderation rules and message status updates. |
| Key methods | `addMessageListener()` · `removeMessageListener()` · `sendMessage()` |
| Key classes | `TextMessage` · `BaseMessage` · `CometChatException` · `MediaMessage` |
| Listener callbacks | `onMessageModerated()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Full reference | [`TextMessage`](/sdk/reference/messages#textmessage) · [`BaseMessage`](/sdk/reference/messages#basemessage) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) · [`MediaMessage`](/sdk/reference/messages#mediamessage) |

</Accordion>

## Overview

AI Moderation in the CometChat SDK helps ensure that your chat application remains safe and compliant by automatically reviewing messages for inappropriate content. This feature leverages AI to moderate messages in real-time, reducing manual intervention and improving user experience.
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/authentication-overview.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -4,6 +4,22 @@ sidebarTitle: "Overview"
description: "Authenticate Flutter app users with CometChat using UID login, auth tokens, session checks, logout, and backend user management."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Authenticate Flutter app users with CometChat using UID login, auth tokens, session checks, logout, and backend user management. |
| Key methods | `getLoggedInUser()` · `login()` · `loginWithAuthToken()` · `logout()` |
| Key classes | `CometChatException` · `User` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Setup](/sdk/flutter/setup) · [Login Listeners](/sdk/flutter/login-listeners) |
| Full reference | [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) · [`User`](/sdk/reference/entities#user) |

</Accordion>

To allow a user to use CometChat, the user must log in to CometChat.

**CometChat does not handle user management.** You must handle user registration and login at your end. Once the user is logged into your app/site, you can log in the user to CometChat **programmatically**. The user does not ever directly login to CometChat.
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/block-users.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Block Users"
description: "Block and unblock CometChat users in Flutter apps to stop direct communication and manage blocked user lists."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Block and unblock CometChat users in Flutter apps to stop direct communication and manage blocked user lists. |
| Key methods | `blockUser()` · `unblockUser()` |
| Key classes | `User` · `CometChatException` · `CometChatBlockedUsersDirection` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Retrieve Users](/sdk/flutter/retrieve-users) · [User Management](/sdk/flutter/user-management) |
| Full reference | [`User`](/sdk/reference/entities#user) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



## Block Users
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/campaigns.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Campaigns"
description: "Fetch notification feed items, listen for real-time delivery, mark items as read/delivered, report engagement, and retrieve unread counts in Flutter."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Fetch notification feed items, listen for real-time delivery, mark items as read/delivered, report engagement, and retrieve unread counts in Flutter. |
| Key methods | `addMessageListener()` · `addNotificationFeedListener()` · `getNotificationFeedItem()` · `getNotificationFeedUnreadCount()` · `markFeedItemAsDelivered()` · `markFeedItemAsRead()` · `markPushNotificationClicked()` · `markPushNotificationDelivered()` · `removeNotificationFeedListener()` · `reportFeedEngagement()` |
| Key classes | `CometChatException` · `CometChatCardView` · `CardMessage` · `CometChatCardActionEvent` · `CometChatCardChatWithUserAction` · `CometChatCardOpenUrlAction` · `CometChatCardThemeMode` |
| Listener callbacks | `onCardMessageReceived()` · `onFeedItemReceived()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Full reference | [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) · [`CardMessage`](/sdk/reference/messages#cardmessage) |

</Accordion>

CometChat Campaigns lets you deliver targeted, rich notifications to users via an in-app notification feed. Each notification is a **Card Schema JSON** — a structured layout rendered natively by the CometChat Cards library.

The SDK provides APIs to fetch feed items, listen for real-time delivery, mark items as read/delivered, report engagement, and retrieve unread counts.
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/connection-behaviour.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Connection Behaviour"
description: "Manage CometChat Flutter SDK WebSocket behavior with automatic connection handling, background disconnects, and manual connection mode."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Manage CometChat Flutter SDK WebSocket behavior with automatic connection handling, background disconnects, and manual connection mode. |
| Key methods | `connect()` · `disconnect()` · `init()` · `ping()` |
| Key classes | `CometChatException` · `CometChatSubscriptionType` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Connection Status](/sdk/flutter/connection-status) |
| Full reference | [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



## Default SDK behaviour on login
Expand Down
21 changes: 20 additions & 1 deletion sdk/flutter/connection-status.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,23 @@ title: "Connection Status"
description: "Monitor CometChat WebSocket connection status in Flutter apps with callbacks for connecting, connected, disconnected, and errors."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Monitor CometChat WebSocket connection status in Flutter apps with callbacks for connecting, connected, disconnected, and errors. |
| Key methods | `addConnectionListener()` · `getConnectionStatus()` |
| Key classes | `CometChatException` |
| Listener callbacks | `onConnected()` · `onConnecting()` · `onConnectionError()` · `onDisconnected()` · `onFeatureThrottled()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Connection Behaviour](/sdk/flutter/connection-behaviour) · [All Real Time Listeners](/sdk/flutter/real-time-listeners) |
| Full reference | [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



CometChat SDK provides you with a mechanism to get real-time status of the connection to CometChat web-socket servers. To achieve this you need to use the `ConnectionListener` class provided by the CometChat SDK
Expand All@@ -21,12 +38,14 @@ Once the connection is broken, the disconnected callback is triggered, the SDK a

In order to use the ConnectionListeners, you need to add the ConnectionListeners using the `addConnectionListener` method provided by the SDK. You can add multiple listeners as shown below. Just make sure you add listeners with unique IDs.

Remove a listener with `removeConnectionListener(listenerId)` when the subscriber goes away — typically in `dispose()` — passing the same ID you registered with.

<Tabs>
<Tab title="Dart">
```dart
class Class_Name with ConnectionListener {
//1. Register Connection listener
//CometChat.addConnctionListener("listenerId", this);
//CometChat.addConnectionListener("listenerId", this);

//2. Ovveride the ConnectionListener methods
@override
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/create-group.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Create A Group"
description: "Create CometChat public, private, and password-protected groups in Flutter apps with group GUID, name, type, and password."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Create CometChat public, private, and password-protected groups in Flutter apps with group GUID, name, type, and password. |
| Key methods | `createGroup()` · `createGroupWithMembers()` |
| Key classes | `Group` · `GroupMember` · `CometChatMemberScope` · `CometChatException` · `CometChatGroupType` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Join A Group](/sdk/flutter/join-group) · [Update A Group](/sdk/flutter/update-group) · [Delete A Group](/sdk/flutter/delete-group) · [Add Members To A Group](/sdk/flutter/group-add-members) |
| Full reference | [`Group`](/sdk/reference/entities#group) · [`GroupMember`](/sdk/reference/entities#groupmember) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



## Create a Group
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/delete-conversation.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Delete A Conversation"
description: "Delete one-on-one or group conversations for the logged-in user in Flutter apps using conversation ID and type."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Delete one-on-one or group conversations for the logged-in user in Flutter apps using conversation ID and type. |
| Key methods | `deleteConversation()` |
| Key classes | `Conversation` · `CometChatException` · `CometChatConversationType` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Retrieve Conversations](/sdk/flutter/retrieve-conversations) |
| Full reference | [`Conversation`](/sdk/reference/entities#conversation) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



In case you want to delete a conversation, you can use the `deleteConversation()` method.
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/delete-group.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Delete A Group"
description: "Delete CometChat groups from Flutter apps by GUID when the logged-in user has admin permissions."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Delete CometChat groups from Flutter apps by GUID when the logged-in user has admin permissions. |
| Key methods | `deleteGroup()` |
| Key classes | `Group` · `CometChatException` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Create A Group](/sdk/flutter/create-group) · [Leave A Group](/sdk/flutter/leave-group) |
| Full reference | [`Group`](/sdk/reference/entities#group) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



## Delete Group
Expand Down
17 changes: 17 additions & 0 deletions sdk/flutter/delete-message.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,23 @@ title: "Delete A Message"
description: "Delete CometChat messages in Flutter apps and handle real-time or missed message deletion events."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Delete CometChat messages in Flutter apps and handle real-time or missed message deletion events. |
| Key methods | `addMessageListener()` · `deleteMessage()` |
| Key classes | `BaseMessage` · `CometChatException` |
| Listener callbacks | `onMessageDeleted()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Send A Message](/sdk/flutter/send-message) · [Edit A Message](/sdk/flutter/edit-message) |
| Full reference | [`BaseMessage`](/sdk/reference/messages#basemessage) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



While [deleting a message](/sdk/flutter/delete-message#delete-a-message) is straightforward, receiving events for deleted messages with CometChat has two parts:
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions sdk/flutter/ai-agents.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "AI Agents"
description: "Learn how to integrate AI Agents in your Flutter app to process messages, trigger tools, and respond with context."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Learn how to integrate AI Agents in your Flutter app to process messages, trigger tools, and respond with context. |
| Key methods | `addAIAssistantListener()` · `addMessageListener()` · `removeAIAssistantListener()` |
| Key classes | `AIAssistantMessage` · `Call` · `CometChatCardView` · `AIAssistantBaseEvent` · `AIAssistantCardEndedEvent` · `AIAssistantCardReceivedEvent` · `AIAssistantCardStartedEvent` · `AIToolArgumentMessage` |
| Listener callbacks | `onAIAssistantEventReceived()` · `onAIAssistantMessageReceived()` · `onAIToolArgumentsReceived()` · `onAIToolResultReceived()` · `onCardMessageReceived()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Full reference | [`AIAssistantMessage`](/sdk/reference/messages#aiassistantmessage) · [`Call`](/sdk/reference/messages#call) · [`AIAssistantBaseEvent`](/sdk/reference/messages#aiassistantbaseevent) · [`AIAssistantCardEndedEvent`](/sdk/reference/messages#aiassistantcardendedevent) · [`AIAssistantCardReceivedEvent`](/sdk/reference/messages#aiassistantcardreceivedevent) · [`AIAssistantCardStartedEvent`](/sdk/reference/messages#aiassistantcardstartedevent) |

</Accordion>

# AI Agents Overview

AI Agents enable intelligent, automated interactions within your application. They can process user messages, trigger tools, and respond with contextually relevant information. For a broader introduction, see the [AI Agents section](/ai-agents).
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/ai-moderation.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "AI Moderation"
description: "Automatically review CometChat messages for inappropriate content in Flutter apps using AI moderation rules and message status updates."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Automatically review CometChat messages for inappropriate content in Flutter apps using AI moderation rules and message status updates. |
| Key methods | `addMessageListener()` · `removeMessageListener()` · `sendMessage()` |
| Key classes | `TextMessage` · `BaseMessage` · `CometChatException` · `MediaMessage` |
| Listener callbacks | `onMessageModerated()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Full reference | [`TextMessage`](/sdk/reference/messages#textmessage) · [`BaseMessage`](/sdk/reference/messages#basemessage) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) · [`MediaMessage`](/sdk/reference/messages#mediamessage) |

</Accordion>

## Overview

AI Moderation in the CometChat SDK helps ensure that your chat application remains safe and compliant by automatically reviewing messages for inappropriate content. This feature leverages AI to moderate messages in real-time, reducing manual intervention and improving user experience.
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/authentication-overview.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -4,6 +4,22 @@ sidebarTitle: "Overview"
description: "Authenticate Flutter app users with CometChat using UID login, auth tokens, session checks, logout, and backend user management."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Authenticate Flutter app users with CometChat using UID login, auth tokens, session checks, logout, and backend user management. |
| Key methods | `getLoggedInUser()` · `login()` · `loginWithAuthToken()` · `logout()` |
| Key classes | `CometChatException` · `User` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Setup](/sdk/flutter/setup) · [Login Listeners](/sdk/flutter/login-listeners) |
| Full reference | [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) · [`User`](/sdk/reference/entities#user) |

</Accordion>

To allow a user to use CometChat, the user must log in to CometChat.

**CometChat does not handle user management.** You must handle user registration and login at your end. Once the user is logged into your app/site, you can log in the user to CometChat **programmatically**. The user does not ever directly login to CometChat.
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/block-users.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Block Users"
description: "Block and unblock CometChat users in Flutter apps to stop direct communication and manage blocked user lists."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Block and unblock CometChat users in Flutter apps to stop direct communication and manage blocked user lists. |
| Key methods | `blockUser()` · `unblockUser()` |
| Key classes | `User` · `CometChatException` · `CometChatBlockedUsersDirection` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Retrieve Users](/sdk/flutter/retrieve-users) · [User Management](/sdk/flutter/user-management) |
| Full reference | [`User`](/sdk/reference/entities#user) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



## Block Users
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/campaigns.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Campaigns"
description: "Fetch notification feed items, listen for real-time delivery, mark items as read/delivered, report engagement, and retrieve unread counts in Flutter."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Fetch notification feed items, listen for real-time delivery, mark items as read/delivered, report engagement, and retrieve unread counts in Flutter. |
| Key methods | `addMessageListener()` · `addNotificationFeedListener()` · `getNotificationFeedItem()` · `getNotificationFeedUnreadCount()` · `markFeedItemAsDelivered()` · `markFeedItemAsRead()` · `markPushNotificationClicked()` · `markPushNotificationDelivered()` · `removeNotificationFeedListener()` · `reportFeedEngagement()` |
| Key classes | `CometChatException` · `CometChatCardView` · `CardMessage` · `CometChatCardActionEvent` · `CometChatCardChatWithUserAction` · `CometChatCardOpenUrlAction` · `CometChatCardThemeMode` |
| Listener callbacks | `onCardMessageReceived()` · `onFeedItemReceived()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Full reference | [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) · [`CardMessage`](/sdk/reference/messages#cardmessage) |

</Accordion>

CometChat Campaigns lets you deliver targeted, rich notifications to users via an in-app notification feed. Each notification is a **Card Schema JSON** — a structured layout rendered natively by the CometChat Cards library.

The SDK provides APIs to fetch feed items, listen for real-time delivery, mark items as read/delivered, report engagement, and retrieve unread counts.
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/connection-behaviour.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Connection Behaviour"
description: "Manage CometChat Flutter SDK WebSocket behavior with automatic connection handling, background disconnects, and manual connection mode."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Manage CometChat Flutter SDK WebSocket behavior with automatic connection handling, background disconnects, and manual connection mode. |
| Key methods | `connect()` · `disconnect()` · `init()` · `ping()` |
| Key classes | `CometChatException` · `CometChatSubscriptionType` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Connection Status](/sdk/flutter/connection-status) |
| Full reference | [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



## Default SDK behaviour on login
Expand Down
21 changes: 20 additions & 1 deletion sdk/flutter/connection-status.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,23 @@ title: "Connection Status"
description: "Monitor CometChat WebSocket connection status in Flutter apps with callbacks for connecting, connected, disconnected, and errors."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Monitor CometChat WebSocket connection status in Flutter apps with callbacks for connecting, connected, disconnected, and errors. |
| Key methods | `addConnectionListener()` · `getConnectionStatus()` |
| Key classes | `CometChatException` |
| Listener callbacks | `onConnected()` · `onConnecting()` · `onConnectionError()` · `onDisconnected()` · `onFeatureThrottled()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Connection Behaviour](/sdk/flutter/connection-behaviour) · [All Real Time Listeners](/sdk/flutter/real-time-listeners) |
| Full reference | [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



CometChat SDK provides you with a mechanism to get real-time status of the connection to CometChat web-socket servers. To achieve this you need to use the `ConnectionListener` class provided by the CometChat SDK
Expand All@@ -21,12 +38,14 @@ Once the connection is broken, the disconnected callback is triggered, the SDK a

In order to use the ConnectionListeners, you need to add the ConnectionListeners using the `addConnectionListener` method provided by the SDK. You can add multiple listeners as shown below. Just make sure you add listeners with unique IDs.

Remove a listener with `removeConnectionListener(listenerId)` when the subscriber goes away — typically in `dispose()` — passing the same ID you registered with.

<Tabs>
<Tab title="Dart">
```dart
class Class_Name with ConnectionListener {
//1. Register Connection listener
//CometChat.addConnctionListener("listenerId", this);
//CometChat.addConnectionListener("listenerId", this);

//2. Ovveride the ConnectionListener methods
@override
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/create-group.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Create A Group"
description: "Create CometChat public, private, and password-protected groups in Flutter apps with group GUID, name, type, and password."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Create CometChat public, private, and password-protected groups in Flutter apps with group GUID, name, type, and password. |
| Key methods | `createGroup()` · `createGroupWithMembers()` |
| Key classes | `Group` · `GroupMember` · `CometChatMemberScope` · `CometChatException` · `CometChatGroupType` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Join A Group](/sdk/flutter/join-group) · [Update A Group](/sdk/flutter/update-group) · [Delete A Group](/sdk/flutter/delete-group) · [Add Members To A Group](/sdk/flutter/group-add-members) |
| Full reference | [`Group`](/sdk/reference/entities#group) · [`GroupMember`](/sdk/reference/entities#groupmember) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



## Create a Group
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/delete-conversation.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Delete A Conversation"
description: "Delete one-on-one or group conversations for the logged-in user in Flutter apps using conversation ID and type."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Delete one-on-one or group conversations for the logged-in user in Flutter apps using conversation ID and type. |
| Key methods | `deleteConversation()` |
| Key classes | `Conversation` · `CometChatException` · `CometChatConversationType` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Retrieve Conversations](/sdk/flutter/retrieve-conversations) |
| Full reference | [`Conversation`](/sdk/reference/entities#conversation) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



In case you want to delete a conversation, you can use the `deleteConversation()` method.
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/delete-group.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Delete A Group"
description: "Delete CometChat groups from Flutter apps by GUID when the logged-in user has admin permissions."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Delete CometChat groups from Flutter apps by GUID when the logged-in user has admin permissions. |
| Key methods | `deleteGroup()` |
| Key classes | `Group` · `CometChatException` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Create A Group](/sdk/flutter/create-group) · [Leave A Group](/sdk/flutter/leave-group) |
| Full reference | [`Group`](/sdk/reference/entities#group) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



## Delete Group
Expand Down
17 changes: 17 additions & 0 deletions sdk/flutter/delete-message.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,23 @@ title: "Delete A Message"
description: "Delete CometChat messages in Flutter apps and handle real-time or missed message deletion events."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Delete CometChat messages in Flutter apps and handle real-time or missed message deletion events. |
| Key methods | `addMessageListener()` · `deleteMessage()` |
| Key classes | `BaseMessage` · `CometChatException` |
| Listener callbacks | `onMessageDeleted()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Send A Message](/sdk/flutter/send-message) · [Edit A Message](/sdk/flutter/edit-message) |
| Full reference | [`BaseMessage`](/sdk/reference/messages#basemessage) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



While [deleting a message](/sdk/flutter/delete-message#delete-a-message) is straightforward, receiving events for deleted messages with CometChat has two parts:
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions sdk/flutter/ai-agents.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "AI Agents"
description: "Learn how to integrate AI Agents in your Flutter app to process messages, trigger tools, and respond with context."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Learn how to integrate AI Agents in your Flutter app to process messages, trigger tools, and respond with context. |
| Key methods | `addAIAssistantListener()` · `addMessageListener()` · `removeAIAssistantListener()` |
| Key classes | `AIAssistantMessage` · `Call` · `CometChatCardView` · `AIAssistantBaseEvent` · `AIAssistantCardEndedEvent` · `AIAssistantCardReceivedEvent` · `AIAssistantCardStartedEvent` · `AIToolArgumentMessage` |
| Listener callbacks | `onAIAssistantEventReceived()` · `onAIAssistantMessageReceived()` · `onAIToolArgumentsReceived()` · `onAIToolResultReceived()` · `onCardMessageReceived()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Full reference | [`AIAssistantMessage`](/sdk/reference/messages#aiassistantmessage) · [`Call`](/sdk/reference/messages#call) · [`AIAssistantBaseEvent`](/sdk/reference/messages#aiassistantbaseevent) · [`AIAssistantCardEndedEvent`](/sdk/reference/messages#aiassistantcardendedevent) · [`AIAssistantCardReceivedEvent`](/sdk/reference/messages#aiassistantcardreceivedevent) · [`AIAssistantCardStartedEvent`](/sdk/reference/messages#aiassistantcardstartedevent) |

</Accordion>

# AI Agents Overview

AI Agents enable intelligent, automated interactions within your application. They can process user messages, trigger tools, and respond with contextually relevant information. For a broader introduction, see the [AI Agents section](/ai-agents).
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/ai-moderation.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "AI Moderation"
description: "Automatically review CometChat messages for inappropriate content in Flutter apps using AI moderation rules and message status updates."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Automatically review CometChat messages for inappropriate content in Flutter apps using AI moderation rules and message status updates. |
| Key methods | `addMessageListener()` · `removeMessageListener()` · `sendMessage()` |
| Key classes | `TextMessage` · `BaseMessage` · `CometChatException` · `MediaMessage` |
| Listener callbacks | `onMessageModerated()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Full reference | [`TextMessage`](/sdk/reference/messages#textmessage) · [`BaseMessage`](/sdk/reference/messages#basemessage) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) · [`MediaMessage`](/sdk/reference/messages#mediamessage) |

</Accordion>

## Overview

AI Moderation in the CometChat SDK helps ensure that your chat application remains safe and compliant by automatically reviewing messages for inappropriate content. This feature leverages AI to moderate messages in real-time, reducing manual intervention and improving user experience.
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/authentication-overview.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -4,6 +4,22 @@ sidebarTitle: "Overview"
description: "Authenticate Flutter app users with CometChat using UID login, auth tokens, session checks, logout, and backend user management."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Authenticate Flutter app users with CometChat using UID login, auth tokens, session checks, logout, and backend user management. |
| Key methods | `getLoggedInUser()` · `login()` · `loginWithAuthToken()` · `logout()` |
| Key classes | `CometChatException` · `User` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Setup](/sdk/flutter/setup) · [Login Listeners](/sdk/flutter/login-listeners) |
| Full reference | [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) · [`User`](/sdk/reference/entities#user) |

</Accordion>

To allow a user to use CometChat, the user must log in to CometChat.

**CometChat does not handle user management.** You must handle user registration and login at your end. Once the user is logged into your app/site, you can log in the user to CometChat **programmatically**. The user does not ever directly login to CometChat.
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/block-users.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Block Users"
description: "Block and unblock CometChat users in Flutter apps to stop direct communication and manage blocked user lists."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Block and unblock CometChat users in Flutter apps to stop direct communication and manage blocked user lists. |
| Key methods | `blockUser()` · `unblockUser()` |
| Key classes | `User` · `CometChatException` · `CometChatBlockedUsersDirection` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Retrieve Users](/sdk/flutter/retrieve-users) · [User Management](/sdk/flutter/user-management) |
| Full reference | [`User`](/sdk/reference/entities#user) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



## Block Users
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/campaigns.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Campaigns"
description: "Fetch notification feed items, listen for real-time delivery, mark items as read/delivered, report engagement, and retrieve unread counts in Flutter."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Fetch notification feed items, listen for real-time delivery, mark items as read/delivered, report engagement, and retrieve unread counts in Flutter. |
| Key methods | `addMessageListener()` · `addNotificationFeedListener()` · `getNotificationFeedItem()` · `getNotificationFeedUnreadCount()` · `markFeedItemAsDelivered()` · `markFeedItemAsRead()` · `markPushNotificationClicked()` · `markPushNotificationDelivered()` · `removeNotificationFeedListener()` · `reportFeedEngagement()` |
| Key classes | `CometChatException` · `CometChatCardView` · `CardMessage` · `CometChatCardActionEvent` · `CometChatCardChatWithUserAction` · `CometChatCardOpenUrlAction` · `CometChatCardThemeMode` |
| Listener callbacks | `onCardMessageReceived()` · `onFeedItemReceived()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Full reference | [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) · [`CardMessage`](/sdk/reference/messages#cardmessage) |

</Accordion>

CometChat Campaigns lets you deliver targeted, rich notifications to users via an in-app notification feed. Each notification is a **Card Schema JSON** — a structured layout rendered natively by the CometChat Cards library.

The SDK provides APIs to fetch feed items, listen for real-time delivery, mark items as read/delivered, report engagement, and retrieve unread counts.
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/connection-behaviour.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Connection Behaviour"
description: "Manage CometChat Flutter SDK WebSocket behavior with automatic connection handling, background disconnects, and manual connection mode."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Manage CometChat Flutter SDK WebSocket behavior with automatic connection handling, background disconnects, and manual connection mode. |
| Key methods | `connect()` · `disconnect()` · `init()` · `ping()` |
| Key classes | `CometChatException` · `CometChatSubscriptionType` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Connection Status](/sdk/flutter/connection-status) |
| Full reference | [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



## Default SDK behaviour on login
Expand Down
21 changes: 20 additions & 1 deletion sdk/flutter/connection-status.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,23 @@ title: "Connection Status"
description: "Monitor CometChat WebSocket connection status in Flutter apps with callbacks for connecting, connected, disconnected, and errors."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Monitor CometChat WebSocket connection status in Flutter apps with callbacks for connecting, connected, disconnected, and errors. |
| Key methods | `addConnectionListener()` · `getConnectionStatus()` |
| Key classes | `CometChatException` |
| Listener callbacks | `onConnected()` · `onConnecting()` · `onConnectionError()` · `onDisconnected()` · `onFeatureThrottled()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Connection Behaviour](/sdk/flutter/connection-behaviour) · [All Real Time Listeners](/sdk/flutter/real-time-listeners) |
| Full reference | [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



CometChat SDK provides you with a mechanism to get real-time status of the connection to CometChat web-socket servers. To achieve this you need to use the `ConnectionListener` class provided by the CometChat SDK
Expand All@@ -21,12 +38,14 @@ Once the connection is broken, the disconnected callback is triggered, the SDK a

In order to use the ConnectionListeners, you need to add the ConnectionListeners using the `addConnectionListener` method provided by the SDK. You can add multiple listeners as shown below. Just make sure you add listeners with unique IDs.

Remove a listener with `removeConnectionListener(listenerId)` when the subscriber goes away — typically in `dispose()` — passing the same ID you registered with.

<Tabs>
<Tab title="Dart">
```dart
class Class_Name with ConnectionListener {
//1. Register Connection listener
//CometChat.addConnctionListener("listenerId", this);
//CometChat.addConnectionListener("listenerId", this);

//2. Ovveride the ConnectionListener methods
@override
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/create-group.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Create A Group"
description: "Create CometChat public, private, and password-protected groups in Flutter apps with group GUID, name, type, and password."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Create CometChat public, private, and password-protected groups in Flutter apps with group GUID, name, type, and password. |
| Key methods | `createGroup()` · `createGroupWithMembers()` |
| Key classes | `Group` · `GroupMember` · `CometChatMemberScope` · `CometChatException` · `CometChatGroupType` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Join A Group](/sdk/flutter/join-group) · [Update A Group](/sdk/flutter/update-group) · [Delete A Group](/sdk/flutter/delete-group) · [Add Members To A Group](/sdk/flutter/group-add-members) |
| Full reference | [`Group`](/sdk/reference/entities#group) · [`GroupMember`](/sdk/reference/entities#groupmember) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



## Create a Group
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/delete-conversation.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Delete A Conversation"
description: "Delete one-on-one or group conversations for the logged-in user in Flutter apps using conversation ID and type."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Delete one-on-one or group conversations for the logged-in user in Flutter apps using conversation ID and type. |
| Key methods | `deleteConversation()` |
| Key classes | `Conversation` · `CometChatException` · `CometChatConversationType` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Retrieve Conversations](/sdk/flutter/retrieve-conversations) |
| Full reference | [`Conversation`](/sdk/reference/entities#conversation) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



In case you want to delete a conversation, you can use the `deleteConversation()` method.
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/delete-group.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Delete A Group"
description: "Delete CometChat groups from Flutter apps by GUID when the logged-in user has admin permissions."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Delete CometChat groups from Flutter apps by GUID when the logged-in user has admin permissions. |
| Key methods | `deleteGroup()` |
| Key classes | `Group` · `CometChatException` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Create A Group](/sdk/flutter/create-group) · [Leave A Group](/sdk/flutter/leave-group) |
| Full reference | [`Group`](/sdk/reference/entities#group) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



## Delete Group
Expand Down
17 changes: 17 additions & 0 deletions sdk/flutter/delete-message.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,23 @@ title: "Delete A Message"
description: "Delete CometChat messages in Flutter apps and handle real-time or missed message deletion events."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Delete CometChat messages in Flutter apps and handle real-time or missed message deletion events. |
| Key methods | `addMessageListener()` · `deleteMessage()` |
| Key classes | `BaseMessage` · `CometChatException` |
| Listener callbacks | `onMessageDeleted()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Send A Message](/sdk/flutter/send-message) · [Edit A Message](/sdk/flutter/edit-message) |
| Full reference | [`BaseMessage`](/sdk/reference/messages#basemessage) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



While [deleting a message](/sdk/flutter/delete-message#delete-a-message) is straightforward, receiving events for deleted messages with CometChat has two parts:
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions sdk/flutter/ai-agents.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "AI Agents"
description: "Learn how to integrate AI Agents in your Flutter app to process messages, trigger tools, and respond with context."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Learn how to integrate AI Agents in your Flutter app to process messages, trigger tools, and respond with context. |
| Key methods | `addAIAssistantListener()` · `addMessageListener()` · `removeAIAssistantListener()` |
| Key classes | `AIAssistantMessage` · `Call` · `CometChatCardView` · `AIAssistantBaseEvent` · `AIAssistantCardEndedEvent` · `AIAssistantCardReceivedEvent` · `AIAssistantCardStartedEvent` · `AIToolArgumentMessage` |
| Listener callbacks | `onAIAssistantEventReceived()` · `onAIAssistantMessageReceived()` · `onAIToolArgumentsReceived()` · `onAIToolResultReceived()` · `onCardMessageReceived()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Full reference | [`AIAssistantMessage`](/sdk/reference/messages#aiassistantmessage) · [`Call`](/sdk/reference/messages#call) · [`AIAssistantBaseEvent`](/sdk/reference/messages#aiassistantbaseevent) · [`AIAssistantCardEndedEvent`](/sdk/reference/messages#aiassistantcardendedevent) · [`AIAssistantCardReceivedEvent`](/sdk/reference/messages#aiassistantcardreceivedevent) · [`AIAssistantCardStartedEvent`](/sdk/reference/messages#aiassistantcardstartedevent) |

</Accordion>

# AI Agents Overview

AI Agents enable intelligent, automated interactions within your application. They can process user messages, trigger tools, and respond with contextually relevant information. For a broader introduction, see the [AI Agents section](/ai-agents).
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/ai-moderation.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "AI Moderation"
description: "Automatically review CometChat messages for inappropriate content in Flutter apps using AI moderation rules and message status updates."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Automatically review CometChat messages for inappropriate content in Flutter apps using AI moderation rules and message status updates. |
| Key methods | `addMessageListener()` · `removeMessageListener()` · `sendMessage()` |
| Key classes | `TextMessage` · `BaseMessage` · `CometChatException` · `MediaMessage` |
| Listener callbacks | `onMessageModerated()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Full reference | [`TextMessage`](/sdk/reference/messages#textmessage) · [`BaseMessage`](/sdk/reference/messages#basemessage) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) · [`MediaMessage`](/sdk/reference/messages#mediamessage) |

</Accordion>

## Overview

AI Moderation in the CometChat SDK helps ensure that your chat application remains safe and compliant by automatically reviewing messages for inappropriate content. This feature leverages AI to moderate messages in real-time, reducing manual intervention and improving user experience.
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/authentication-overview.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -4,6 +4,22 @@ sidebarTitle: "Overview"
description: "Authenticate Flutter app users with CometChat using UID login, auth tokens, session checks, logout, and backend user management."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Authenticate Flutter app users with CometChat using UID login, auth tokens, session checks, logout, and backend user management. |
| Key methods | `getLoggedInUser()` · `login()` · `loginWithAuthToken()` · `logout()` |
| Key classes | `CometChatException` · `User` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Setup](/sdk/flutter/setup) · [Login Listeners](/sdk/flutter/login-listeners) |
| Full reference | [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) · [`User`](/sdk/reference/entities#user) |

</Accordion>

To allow a user to use CometChat, the user must log in to CometChat.

**CometChat does not handle user management.** You must handle user registration and login at your end. Once the user is logged into your app/site, you can log in the user to CometChat **programmatically**. The user does not ever directly login to CometChat.
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/block-users.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Block Users"
description: "Block and unblock CometChat users in Flutter apps to stop direct communication and manage blocked user lists."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Block and unblock CometChat users in Flutter apps to stop direct communication and manage blocked user lists. |
| Key methods | `blockUser()` · `unblockUser()` |
| Key classes | `User` · `CometChatException` · `CometChatBlockedUsersDirection` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Retrieve Users](/sdk/flutter/retrieve-users) · [User Management](/sdk/flutter/user-management) |
| Full reference | [`User`](/sdk/reference/entities#user) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



## Block Users
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/campaigns.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Campaigns"
description: "Fetch notification feed items, listen for real-time delivery, mark items as read/delivered, report engagement, and retrieve unread counts in Flutter."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Fetch notification feed items, listen for real-time delivery, mark items as read/delivered, report engagement, and retrieve unread counts in Flutter. |
| Key methods | `addMessageListener()` · `addNotificationFeedListener()` · `getNotificationFeedItem()` · `getNotificationFeedUnreadCount()` · `markFeedItemAsDelivered()` · `markFeedItemAsRead()` · `markPushNotificationClicked()` · `markPushNotificationDelivered()` · `removeNotificationFeedListener()` · `reportFeedEngagement()` |
| Key classes | `CometChatException` · `CometChatCardView` · `CardMessage` · `CometChatCardActionEvent` · `CometChatCardChatWithUserAction` · `CometChatCardOpenUrlAction` · `CometChatCardThemeMode` |
| Listener callbacks | `onCardMessageReceived()` · `onFeedItemReceived()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Full reference | [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) · [`CardMessage`](/sdk/reference/messages#cardmessage) |

</Accordion>

CometChat Campaigns lets you deliver targeted, rich notifications to users via an in-app notification feed. Each notification is a **Card Schema JSON** — a structured layout rendered natively by the CometChat Cards library.

The SDK provides APIs to fetch feed items, listen for real-time delivery, mark items as read/delivered, report engagement, and retrieve unread counts.
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/connection-behaviour.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Connection Behaviour"
description: "Manage CometChat Flutter SDK WebSocket behavior with automatic connection handling, background disconnects, and manual connection mode."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Manage CometChat Flutter SDK WebSocket behavior with automatic connection handling, background disconnects, and manual connection mode. |
| Key methods | `connect()` · `disconnect()` · `init()` · `ping()` |
| Key classes | `CometChatException` · `CometChatSubscriptionType` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Connection Status](/sdk/flutter/connection-status) |
| Full reference | [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



## Default SDK behaviour on login
Expand Down
21 changes: 20 additions & 1 deletion sdk/flutter/connection-status.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,23 @@ title: "Connection Status"
description: "Monitor CometChat WebSocket connection status in Flutter apps with callbacks for connecting, connected, disconnected, and errors."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Monitor CometChat WebSocket connection status in Flutter apps with callbacks for connecting, connected, disconnected, and errors. |
| Key methods | `addConnectionListener()` · `getConnectionStatus()` |
| Key classes | `CometChatException` |
| Listener callbacks | `onConnected()` · `onConnecting()` · `onConnectionError()` · `onDisconnected()` · `onFeatureThrottled()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Connection Behaviour](/sdk/flutter/connection-behaviour) · [All Real Time Listeners](/sdk/flutter/real-time-listeners) |
| Full reference | [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



CometChat SDK provides you with a mechanism to get real-time status of the connection to CometChat web-socket servers. To achieve this you need to use the `ConnectionListener` class provided by the CometChat SDK
Expand All@@ -21,12 +38,14 @@ Once the connection is broken, the disconnected callback is triggered, the SDK a

In order to use the ConnectionListeners, you need to add the ConnectionListeners using the `addConnectionListener` method provided by the SDK. You can add multiple listeners as shown below. Just make sure you add listeners with unique IDs.

Remove a listener with `removeConnectionListener(listenerId)` when the subscriber goes away — typically in `dispose()` — passing the same ID you registered with.

<Tabs>
<Tab title="Dart">
```dart
class Class_Name with ConnectionListener {
//1. Register Connection listener
//CometChat.addConnctionListener("listenerId", this);
//CometChat.addConnectionListener("listenerId", this);

//2. Ovveride the ConnectionListener methods
@override
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/create-group.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Create A Group"
description: "Create CometChat public, private, and password-protected groups in Flutter apps with group GUID, name, type, and password."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Create CometChat public, private, and password-protected groups in Flutter apps with group GUID, name, type, and password. |
| Key methods | `createGroup()` · `createGroupWithMembers()` |
| Key classes | `Group` · `GroupMember` · `CometChatMemberScope` · `CometChatException` · `CometChatGroupType` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Join A Group](/sdk/flutter/join-group) · [Update A Group](/sdk/flutter/update-group) · [Delete A Group](/sdk/flutter/delete-group) · [Add Members To A Group](/sdk/flutter/group-add-members) |
| Full reference | [`Group`](/sdk/reference/entities#group) · [`GroupMember`](/sdk/reference/entities#groupmember) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



## Create a Group
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/delete-conversation.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Delete A Conversation"
description: "Delete one-on-one or group conversations for the logged-in user in Flutter apps using conversation ID and type."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Delete one-on-one or group conversations for the logged-in user in Flutter apps using conversation ID and type. |
| Key methods | `deleteConversation()` |
| Key classes | `Conversation` · `CometChatException` · `CometChatConversationType` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Retrieve Conversations](/sdk/flutter/retrieve-conversations) |
| Full reference | [`Conversation`](/sdk/reference/entities#conversation) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



In case you want to delete a conversation, you can use the `deleteConversation()` method.
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/delete-group.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Delete A Group"
description: "Delete CometChat groups from Flutter apps by GUID when the logged-in user has admin permissions."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Delete CometChat groups from Flutter apps by GUID when the logged-in user has admin permissions. |
| Key methods | `deleteGroup()` |
| Key classes | `Group` · `CometChatException` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Create A Group](/sdk/flutter/create-group) · [Leave A Group](/sdk/flutter/leave-group) |
| Full reference | [`Group`](/sdk/reference/entities#group) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



## Delete Group
Expand Down
17 changes: 17 additions & 0 deletions sdk/flutter/delete-message.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,23 @@ title: "Delete A Message"
description: "Delete CometChat messages in Flutter apps and handle real-time or missed message deletion events."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Delete CometChat messages in Flutter apps and handle real-time or missed message deletion events. |
| Key methods | `addMessageListener()` · `deleteMessage()` |
| Key classes | `BaseMessage` · `CometChatException` |
| Listener callbacks | `onMessageDeleted()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Send A Message](/sdk/flutter/send-message) · [Edit A Message](/sdk/flutter/edit-message) |
| Full reference | [`BaseMessage`](/sdk/reference/messages#basemessage) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



While [deleting a message](/sdk/flutter/delete-message#delete-a-message) is straightforward, receiving events for deleted messages with CometChat has two parts:
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions sdk/flutter/ai-agents.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "AI Agents"
description: "Learn how to integrate AI Agents in your Flutter app to process messages, trigger tools, and respond with context."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Learn how to integrate AI Agents in your Flutter app to process messages, trigger tools, and respond with context. |
| Key methods | `addAIAssistantListener()` · `addMessageListener()` · `removeAIAssistantListener()` |
| Key classes | `AIAssistantMessage` · `Call` · `CometChatCardView` · `AIAssistantBaseEvent` · `AIAssistantCardEndedEvent` · `AIAssistantCardReceivedEvent` · `AIAssistantCardStartedEvent` · `AIToolArgumentMessage` |
| Listener callbacks | `onAIAssistantEventReceived()` · `onAIAssistantMessageReceived()` · `onAIToolArgumentsReceived()` · `onAIToolResultReceived()` · `onCardMessageReceived()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Full reference | [`AIAssistantMessage`](/sdk/reference/messages#aiassistantmessage) · [`Call`](/sdk/reference/messages#call) · [`AIAssistantBaseEvent`](/sdk/reference/messages#aiassistantbaseevent) · [`AIAssistantCardEndedEvent`](/sdk/reference/messages#aiassistantcardendedevent) · [`AIAssistantCardReceivedEvent`](/sdk/reference/messages#aiassistantcardreceivedevent) · [`AIAssistantCardStartedEvent`](/sdk/reference/messages#aiassistantcardstartedevent) |

</Accordion>

# AI Agents Overview

AI Agents enable intelligent, automated interactions within your application. They can process user messages, trigger tools, and respond with contextually relevant information. For a broader introduction, see the [AI Agents section](/ai-agents).
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/ai-moderation.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "AI Moderation"
description: "Automatically review CometChat messages for inappropriate content in Flutter apps using AI moderation rules and message status updates."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Automatically review CometChat messages for inappropriate content in Flutter apps using AI moderation rules and message status updates. |
| Key methods | `addMessageListener()` · `removeMessageListener()` · `sendMessage()` |
| Key classes | `TextMessage` · `BaseMessage` · `CometChatException` · `MediaMessage` |
| Listener callbacks | `onMessageModerated()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Full reference | [`TextMessage`](/sdk/reference/messages#textmessage) · [`BaseMessage`](/sdk/reference/messages#basemessage) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) · [`MediaMessage`](/sdk/reference/messages#mediamessage) |

</Accordion>

## Overview

AI Moderation in the CometChat SDK helps ensure that your chat application remains safe and compliant by automatically reviewing messages for inappropriate content. This feature leverages AI to moderate messages in real-time, reducing manual intervention and improving user experience.
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/authentication-overview.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -4,6 +4,22 @@ sidebarTitle: "Overview"
description: "Authenticate Flutter app users with CometChat using UID login, auth tokens, session checks, logout, and backend user management."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Authenticate Flutter app users with CometChat using UID login, auth tokens, session checks, logout, and backend user management. |
| Key methods | `getLoggedInUser()` · `login()` · `loginWithAuthToken()` · `logout()` |
| Key classes | `CometChatException` · `User` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Setup](/sdk/flutter/setup) · [Login Listeners](/sdk/flutter/login-listeners) |
| Full reference | [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) · [`User`](/sdk/reference/entities#user) |

</Accordion>

To allow a user to use CometChat, the user must log in to CometChat.

**CometChat does not handle user management.** You must handle user registration and login at your end. Once the user is logged into your app/site, you can log in the user to CometChat **programmatically**. The user does not ever directly login to CometChat.
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/block-users.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Block Users"
description: "Block and unblock CometChat users in Flutter apps to stop direct communication and manage blocked user lists."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Block and unblock CometChat users in Flutter apps to stop direct communication and manage blocked user lists. |
| Key methods | `blockUser()` · `unblockUser()` |
| Key classes | `User` · `CometChatException` · `CometChatBlockedUsersDirection` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Retrieve Users](/sdk/flutter/retrieve-users) · [User Management](/sdk/flutter/user-management) |
| Full reference | [`User`](/sdk/reference/entities#user) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



## Block Users
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/campaigns.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Campaigns"
description: "Fetch notification feed items, listen for real-time delivery, mark items as read/delivered, report engagement, and retrieve unread counts in Flutter."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Fetch notification feed items, listen for real-time delivery, mark items as read/delivered, report engagement, and retrieve unread counts in Flutter. |
| Key methods | `addMessageListener()` · `addNotificationFeedListener()` · `getNotificationFeedItem()` · `getNotificationFeedUnreadCount()` · `markFeedItemAsDelivered()` · `markFeedItemAsRead()` · `markPushNotificationClicked()` · `markPushNotificationDelivered()` · `removeNotificationFeedListener()` · `reportFeedEngagement()` |
| Key classes | `CometChatException` · `CometChatCardView` · `CardMessage` · `CometChatCardActionEvent` · `CometChatCardChatWithUserAction` · `CometChatCardOpenUrlAction` · `CometChatCardThemeMode` |
| Listener callbacks | `onCardMessageReceived()` · `onFeedItemReceived()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Full reference | [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) · [`CardMessage`](/sdk/reference/messages#cardmessage) |

</Accordion>

CometChat Campaigns lets you deliver targeted, rich notifications to users via an in-app notification feed. Each notification is a **Card Schema JSON** — a structured layout rendered natively by the CometChat Cards library.

The SDK provides APIs to fetch feed items, listen for real-time delivery, mark items as read/delivered, report engagement, and retrieve unread counts.
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/connection-behaviour.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Connection Behaviour"
description: "Manage CometChat Flutter SDK WebSocket behavior with automatic connection handling, background disconnects, and manual connection mode."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Manage CometChat Flutter SDK WebSocket behavior with automatic connection handling, background disconnects, and manual connection mode. |
| Key methods | `connect()` · `disconnect()` · `init()` · `ping()` |
| Key classes | `CometChatException` · `CometChatSubscriptionType` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Connection Status](/sdk/flutter/connection-status) |
| Full reference | [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



## Default SDK behaviour on login
Expand Down
21 changes: 20 additions & 1 deletion sdk/flutter/connection-status.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,23 @@ title: "Connection Status"
description: "Monitor CometChat WebSocket connection status in Flutter apps with callbacks for connecting, connected, disconnected, and errors."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Monitor CometChat WebSocket connection status in Flutter apps with callbacks for connecting, connected, disconnected, and errors. |
| Key methods | `addConnectionListener()` · `getConnectionStatus()` |
| Key classes | `CometChatException` |
| Listener callbacks | `onConnected()` · `onConnecting()` · `onConnectionError()` · `onDisconnected()` · `onFeatureThrottled()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Connection Behaviour](/sdk/flutter/connection-behaviour) · [All Real Time Listeners](/sdk/flutter/real-time-listeners) |
| Full reference | [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



CometChat SDK provides you with a mechanism to get real-time status of the connection to CometChat web-socket servers. To achieve this you need to use the `ConnectionListener` class provided by the CometChat SDK
Expand All@@ -21,12 +38,14 @@ Once the connection is broken, the disconnected callback is triggered, the SDK a

In order to use the ConnectionListeners, you need to add the ConnectionListeners using the `addConnectionListener` method provided by the SDK. You can add multiple listeners as shown below. Just make sure you add listeners with unique IDs.

Remove a listener with `removeConnectionListener(listenerId)` when the subscriber goes away — typically in `dispose()` — passing the same ID you registered with.

<Tabs>
<Tab title="Dart">
```dart
class Class_Name with ConnectionListener {
//1. Register Connection listener
//CometChat.addConnctionListener("listenerId", this);
//CometChat.addConnectionListener("listenerId", this);

//2. Ovveride the ConnectionListener methods
@override
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/create-group.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Create A Group"
description: "Create CometChat public, private, and password-protected groups in Flutter apps with group GUID, name, type, and password."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Create CometChat public, private, and password-protected groups in Flutter apps with group GUID, name, type, and password. |
| Key methods | `createGroup()` · `createGroupWithMembers()` |
| Key classes | `Group` · `GroupMember` · `CometChatMemberScope` · `CometChatException` · `CometChatGroupType` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Join A Group](/sdk/flutter/join-group) · [Update A Group](/sdk/flutter/update-group) · [Delete A Group](/sdk/flutter/delete-group) · [Add Members To A Group](/sdk/flutter/group-add-members) |
| Full reference | [`Group`](/sdk/reference/entities#group) · [`GroupMember`](/sdk/reference/entities#groupmember) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



## Create a Group
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/delete-conversation.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Delete A Conversation"
description: "Delete one-on-one or group conversations for the logged-in user in Flutter apps using conversation ID and type."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Delete one-on-one or group conversations for the logged-in user in Flutter apps using conversation ID and type. |
| Key methods | `deleteConversation()` |
| Key classes | `Conversation` · `CometChatException` · `CometChatConversationType` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Retrieve Conversations](/sdk/flutter/retrieve-conversations) |
| Full reference | [`Conversation`](/sdk/reference/entities#conversation) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



In case you want to delete a conversation, you can use the `deleteConversation()` method.
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/delete-group.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Delete A Group"
description: "Delete CometChat groups from Flutter apps by GUID when the logged-in user has admin permissions."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Delete CometChat groups from Flutter apps by GUID when the logged-in user has admin permissions. |
| Key methods | `deleteGroup()` |
| Key classes | `Group` · `CometChatException` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Create A Group](/sdk/flutter/create-group) · [Leave A Group](/sdk/flutter/leave-group) |
| Full reference | [`Group`](/sdk/reference/entities#group) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



## Delete Group
Expand Down
17 changes: 17 additions & 0 deletions sdk/flutter/delete-message.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,23 @@ title: "Delete A Message"
description: "Delete CometChat messages in Flutter apps and handle real-time or missed message deletion events."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Delete CometChat messages in Flutter apps and handle real-time or missed message deletion events. |
| Key methods | `addMessageListener()` · `deleteMessage()` |
| Key classes | `BaseMessage` · `CometChatException` |
| Listener callbacks | `onMessageDeleted()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Send A Message](/sdk/flutter/send-message) · [Edit A Message](/sdk/flutter/edit-message) |
| Full reference | [`BaseMessage`](/sdk/reference/messages#basemessage) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



While [deleting a message](/sdk/flutter/delete-message#delete-a-message) is straightforward, receiving events for deleted messages with CometChat has two parts:
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions sdk/flutter/ai-agents.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "AI Agents"
description: "Learn how to integrate AI Agents in your Flutter app to process messages, trigger tools, and respond with context."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Learn how to integrate AI Agents in your Flutter app to process messages, trigger tools, and respond with context. |
| Key methods | `addAIAssistantListener()` · `addMessageListener()` · `removeAIAssistantListener()` |
| Key classes | `AIAssistantMessage` · `Call` · `CometChatCardView` · `AIAssistantBaseEvent` · `AIAssistantCardEndedEvent` · `AIAssistantCardReceivedEvent` · `AIAssistantCardStartedEvent` · `AIToolArgumentMessage` |
| Listener callbacks | `onAIAssistantEventReceived()` · `onAIAssistantMessageReceived()` · `onAIToolArgumentsReceived()` · `onAIToolResultReceived()` · `onCardMessageReceived()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Full reference | [`AIAssistantMessage`](/sdk/reference/messages#aiassistantmessage) · [`Call`](/sdk/reference/messages#call) · [`AIAssistantBaseEvent`](/sdk/reference/messages#aiassistantbaseevent) · [`AIAssistantCardEndedEvent`](/sdk/reference/messages#aiassistantcardendedevent) · [`AIAssistantCardReceivedEvent`](/sdk/reference/messages#aiassistantcardreceivedevent) · [`AIAssistantCardStartedEvent`](/sdk/reference/messages#aiassistantcardstartedevent) |

</Accordion>

# AI Agents Overview

AI Agents enable intelligent, automated interactions within your application. They can process user messages, trigger tools, and respond with contextually relevant information. For a broader introduction, see the [AI Agents section](/ai-agents).
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/ai-moderation.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "AI Moderation"
description: "Automatically review CometChat messages for inappropriate content in Flutter apps using AI moderation rules and message status updates."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Automatically review CometChat messages for inappropriate content in Flutter apps using AI moderation rules and message status updates. |
| Key methods | `addMessageListener()` · `removeMessageListener()` · `sendMessage()` |
| Key classes | `TextMessage` · `BaseMessage` · `CometChatException` · `MediaMessage` |
| Listener callbacks | `onMessageModerated()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Full reference | [`TextMessage`](/sdk/reference/messages#textmessage) · [`BaseMessage`](/sdk/reference/messages#basemessage) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) · [`MediaMessage`](/sdk/reference/messages#mediamessage) |

</Accordion>

## Overview

AI Moderation in the CometChat SDK helps ensure that your chat application remains safe and compliant by automatically reviewing messages for inappropriate content. This feature leverages AI to moderate messages in real-time, reducing manual intervention and improving user experience.
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/authentication-overview.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -4,6 +4,22 @@ sidebarTitle: "Overview"
description: "Authenticate Flutter app users with CometChat using UID login, auth tokens, session checks, logout, and backend user management."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Authenticate Flutter app users with CometChat using UID login, auth tokens, session checks, logout, and backend user management. |
| Key methods | `getLoggedInUser()` · `login()` · `loginWithAuthToken()` · `logout()` |
| Key classes | `CometChatException` · `User` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Setup](/sdk/flutter/setup) · [Login Listeners](/sdk/flutter/login-listeners) |
| Full reference | [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) · [`User`](/sdk/reference/entities#user) |

</Accordion>

To allow a user to use CometChat, the user must log in to CometChat.

**CometChat does not handle user management.** You must handle user registration and login at your end. Once the user is logged into your app/site, you can log in the user to CometChat **programmatically**. The user does not ever directly login to CometChat.
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/block-users.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Block Users"
description: "Block and unblock CometChat users in Flutter apps to stop direct communication and manage blocked user lists."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Block and unblock CometChat users in Flutter apps to stop direct communication and manage blocked user lists. |
| Key methods | `blockUser()` · `unblockUser()` |
| Key classes | `User` · `CometChatException` · `CometChatBlockedUsersDirection` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Retrieve Users](/sdk/flutter/retrieve-users) · [User Management](/sdk/flutter/user-management) |
| Full reference | [`User`](/sdk/reference/entities#user) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



## Block Users
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/campaigns.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Campaigns"
description: "Fetch notification feed items, listen for real-time delivery, mark items as read/delivered, report engagement, and retrieve unread counts in Flutter."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Fetch notification feed items, listen for real-time delivery, mark items as read/delivered, report engagement, and retrieve unread counts in Flutter. |
| Key methods | `addMessageListener()` · `addNotificationFeedListener()` · `getNotificationFeedItem()` · `getNotificationFeedUnreadCount()` · `markFeedItemAsDelivered()` · `markFeedItemAsRead()` · `markPushNotificationClicked()` · `markPushNotificationDelivered()` · `removeNotificationFeedListener()` · `reportFeedEngagement()` |
| Key classes | `CometChatException` · `CometChatCardView` · `CardMessage` · `CometChatCardActionEvent` · `CometChatCardChatWithUserAction` · `CometChatCardOpenUrlAction` · `CometChatCardThemeMode` |
| Listener callbacks | `onCardMessageReceived()` · `onFeedItemReceived()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Full reference | [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) · [`CardMessage`](/sdk/reference/messages#cardmessage) |

</Accordion>

CometChat Campaigns lets you deliver targeted, rich notifications to users via an in-app notification feed. Each notification is a **Card Schema JSON** — a structured layout rendered natively by the CometChat Cards library.

The SDK provides APIs to fetch feed items, listen for real-time delivery, mark items as read/delivered, report engagement, and retrieve unread counts.
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/connection-behaviour.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Connection Behaviour"
description: "Manage CometChat Flutter SDK WebSocket behavior with automatic connection handling, background disconnects, and manual connection mode."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Manage CometChat Flutter SDK WebSocket behavior with automatic connection handling, background disconnects, and manual connection mode. |
| Key methods | `connect()` · `disconnect()` · `init()` · `ping()` |
| Key classes | `CometChatException` · `CometChatSubscriptionType` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Connection Status](/sdk/flutter/connection-status) |
| Full reference | [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



## Default SDK behaviour on login
Expand Down
21 changes: 20 additions & 1 deletion sdk/flutter/connection-status.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,23 @@ title: "Connection Status"
description: "Monitor CometChat WebSocket connection status in Flutter apps with callbacks for connecting, connected, disconnected, and errors."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Monitor CometChat WebSocket connection status in Flutter apps with callbacks for connecting, connected, disconnected, and errors. |
| Key methods | `addConnectionListener()` · `getConnectionStatus()` |
| Key classes | `CometChatException` |
| Listener callbacks | `onConnected()` · `onConnecting()` · `onConnectionError()` · `onDisconnected()` · `onFeatureThrottled()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Connection Behaviour](/sdk/flutter/connection-behaviour) · [All Real Time Listeners](/sdk/flutter/real-time-listeners) |
| Full reference | [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



CometChat SDK provides you with a mechanism to get real-time status of the connection to CometChat web-socket servers. To achieve this you need to use the `ConnectionListener` class provided by the CometChat SDK
Expand All@@ -21,12 +38,14 @@ Once the connection is broken, the disconnected callback is triggered, the SDK a

In order to use the ConnectionListeners, you need to add the ConnectionListeners using the `addConnectionListener` method provided by the SDK. You can add multiple listeners as shown below. Just make sure you add listeners with unique IDs.

Remove a listener with `removeConnectionListener(listenerId)` when the subscriber goes away — typically in `dispose()` — passing the same ID you registered with.

<Tabs>
<Tab title="Dart">
```dart
class Class_Name with ConnectionListener {
//1. Register Connection listener
//CometChat.addConnctionListener("listenerId", this);
//CometChat.addConnectionListener("listenerId", this);

//2. Ovveride the ConnectionListener methods
@override
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/create-group.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Create A Group"
description: "Create CometChat public, private, and password-protected groups in Flutter apps with group GUID, name, type, and password."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Create CometChat public, private, and password-protected groups in Flutter apps with group GUID, name, type, and password. |
| Key methods | `createGroup()` · `createGroupWithMembers()` |
| Key classes | `Group` · `GroupMember` · `CometChatMemberScope` · `CometChatException` · `CometChatGroupType` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Join A Group](/sdk/flutter/join-group) · [Update A Group](/sdk/flutter/update-group) · [Delete A Group](/sdk/flutter/delete-group) · [Add Members To A Group](/sdk/flutter/group-add-members) |
| Full reference | [`Group`](/sdk/reference/entities#group) · [`GroupMember`](/sdk/reference/entities#groupmember) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



## Create a Group
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/delete-conversation.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Delete A Conversation"
description: "Delete one-on-one or group conversations for the logged-in user in Flutter apps using conversation ID and type."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Delete one-on-one or group conversations for the logged-in user in Flutter apps using conversation ID and type. |
| Key methods | `deleteConversation()` |
| Key classes | `Conversation` · `CometChatException` · `CometChatConversationType` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Retrieve Conversations](/sdk/flutter/retrieve-conversations) |
| Full reference | [`Conversation`](/sdk/reference/entities#conversation) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



In case you want to delete a conversation, you can use the `deleteConversation()` method.
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/delete-group.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Delete A Group"
description: "Delete CometChat groups from Flutter apps by GUID when the logged-in user has admin permissions."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Delete CometChat groups from Flutter apps by GUID when the logged-in user has admin permissions. |
| Key methods | `deleteGroup()` |
| Key classes | `Group` · `CometChatException` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Create A Group](/sdk/flutter/create-group) · [Leave A Group](/sdk/flutter/leave-group) |
| Full reference | [`Group`](/sdk/reference/entities#group) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



## Delete Group
Expand Down
17 changes: 17 additions & 0 deletions sdk/flutter/delete-message.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,23 @@ title: "Delete A Message"
description: "Delete CometChat messages in Flutter apps and handle real-time or missed message deletion events."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Delete CometChat messages in Flutter apps and handle real-time or missed message deletion events. |
| Key methods | `addMessageListener()` · `deleteMessage()` |
| Key classes | `BaseMessage` · `CometChatException` |
| Listener callbacks | `onMessageDeleted()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Send A Message](/sdk/flutter/send-message) · [Edit A Message](/sdk/flutter/edit-message) |
| Full reference | [`BaseMessage`](/sdk/reference/messages#basemessage) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



While [deleting a message](/sdk/flutter/delete-message#delete-a-message) is straightforward, receiving events for deleted messages with CometChat has two parts:
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions sdk/flutter/ai-agents.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "AI Agents"
description: "Learn how to integrate AI Agents in your Flutter app to process messages, trigger tools, and respond with context."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Learn how to integrate AI Agents in your Flutter app to process messages, trigger tools, and respond with context. |
| Key methods | `addAIAssistantListener()` · `addMessageListener()` · `removeAIAssistantListener()` |
| Key classes | `AIAssistantMessage` · `Call` · `CometChatCardView` · `AIAssistantBaseEvent` · `AIAssistantCardEndedEvent` · `AIAssistantCardReceivedEvent` · `AIAssistantCardStartedEvent` · `AIToolArgumentMessage` |
| Listener callbacks | `onAIAssistantEventReceived()` · `onAIAssistantMessageReceived()` · `onAIToolArgumentsReceived()` · `onAIToolResultReceived()` · `onCardMessageReceived()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Full reference | [`AIAssistantMessage`](/sdk/reference/messages#aiassistantmessage) · [`Call`](/sdk/reference/messages#call) · [`AIAssistantBaseEvent`](/sdk/reference/messages#aiassistantbaseevent) · [`AIAssistantCardEndedEvent`](/sdk/reference/messages#aiassistantcardendedevent) · [`AIAssistantCardReceivedEvent`](/sdk/reference/messages#aiassistantcardreceivedevent) · [`AIAssistantCardStartedEvent`](/sdk/reference/messages#aiassistantcardstartedevent) |

</Accordion>

# AI Agents Overview

AI Agents enable intelligent, automated interactions within your application. They can process user messages, trigger tools, and respond with contextually relevant information. For a broader introduction, see the [AI Agents section](/ai-agents).
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/ai-moderation.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "AI Moderation"
description: "Automatically review CometChat messages for inappropriate content in Flutter apps using AI moderation rules and message status updates."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Automatically review CometChat messages for inappropriate content in Flutter apps using AI moderation rules and message status updates. |
| Key methods | `addMessageListener()` · `removeMessageListener()` · `sendMessage()` |
| Key classes | `TextMessage` · `BaseMessage` · `CometChatException` · `MediaMessage` |
| Listener callbacks | `onMessageModerated()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Full reference | [`TextMessage`](/sdk/reference/messages#textmessage) · [`BaseMessage`](/sdk/reference/messages#basemessage) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) · [`MediaMessage`](/sdk/reference/messages#mediamessage) |

</Accordion>

## Overview

AI Moderation in the CometChat SDK helps ensure that your chat application remains safe and compliant by automatically reviewing messages for inappropriate content. This feature leverages AI to moderate messages in real-time, reducing manual intervention and improving user experience.
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/authentication-overview.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -4,6 +4,22 @@ sidebarTitle: "Overview"
description: "Authenticate Flutter app users with CometChat using UID login, auth tokens, session checks, logout, and backend user management."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Authenticate Flutter app users with CometChat using UID login, auth tokens, session checks, logout, and backend user management. |
| Key methods | `getLoggedInUser()` · `login()` · `loginWithAuthToken()` · `logout()` |
| Key classes | `CometChatException` · `User` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Setup](/sdk/flutter/setup) · [Login Listeners](/sdk/flutter/login-listeners) |
| Full reference | [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) · [`User`](/sdk/reference/entities#user) |

</Accordion>

To allow a user to use CometChat, the user must log in to CometChat.

**CometChat does not handle user management.** You must handle user registration and login at your end. Once the user is logged into your app/site, you can log in the user to CometChat **programmatically**. The user does not ever directly login to CometChat.
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/block-users.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Block Users"
description: "Block and unblock CometChat users in Flutter apps to stop direct communication and manage blocked user lists."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Block and unblock CometChat users in Flutter apps to stop direct communication and manage blocked user lists. |
| Key methods | `blockUser()` · `unblockUser()` |
| Key classes | `User` · `CometChatException` · `CometChatBlockedUsersDirection` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Retrieve Users](/sdk/flutter/retrieve-users) · [User Management](/sdk/flutter/user-management) |
| Full reference | [`User`](/sdk/reference/entities#user) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



## Block Users
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/campaigns.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Campaigns"
description: "Fetch notification feed items, listen for real-time delivery, mark items as read/delivered, report engagement, and retrieve unread counts in Flutter."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Fetch notification feed items, listen for real-time delivery, mark items as read/delivered, report engagement, and retrieve unread counts in Flutter. |
| Key methods | `addMessageListener()` · `addNotificationFeedListener()` · `getNotificationFeedItem()` · `getNotificationFeedUnreadCount()` · `markFeedItemAsDelivered()` · `markFeedItemAsRead()` · `markPushNotificationClicked()` · `markPushNotificationDelivered()` · `removeNotificationFeedListener()` · `reportFeedEngagement()` |
| Key classes | `CometChatException` · `CometChatCardView` · `CardMessage` · `CometChatCardActionEvent` · `CometChatCardChatWithUserAction` · `CometChatCardOpenUrlAction` · `CometChatCardThemeMode` |
| Listener callbacks | `onCardMessageReceived()` · `onFeedItemReceived()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Full reference | [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) · [`CardMessage`](/sdk/reference/messages#cardmessage) |

</Accordion>

CometChat Campaigns lets you deliver targeted, rich notifications to users via an in-app notification feed. Each notification is a **Card Schema JSON** — a structured layout rendered natively by the CometChat Cards library.

The SDK provides APIs to fetch feed items, listen for real-time delivery, mark items as read/delivered, report engagement, and retrieve unread counts.
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/connection-behaviour.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Connection Behaviour"
description: "Manage CometChat Flutter SDK WebSocket behavior with automatic connection handling, background disconnects, and manual connection mode."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Manage CometChat Flutter SDK WebSocket behavior with automatic connection handling, background disconnects, and manual connection mode. |
| Key methods | `connect()` · `disconnect()` · `init()` · `ping()` |
| Key classes | `CometChatException` · `CometChatSubscriptionType` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Connection Status](/sdk/flutter/connection-status) |
| Full reference | [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



## Default SDK behaviour on login
Expand Down
21 changes: 20 additions & 1 deletion sdk/flutter/connection-status.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,23 @@ title: "Connection Status"
description: "Monitor CometChat WebSocket connection status in Flutter apps with callbacks for connecting, connected, disconnected, and errors."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Monitor CometChat WebSocket connection status in Flutter apps with callbacks for connecting, connected, disconnected, and errors. |
| Key methods | `addConnectionListener()` · `getConnectionStatus()` |
| Key classes | `CometChatException` |
| Listener callbacks | `onConnected()` · `onConnecting()` · `onConnectionError()` · `onDisconnected()` · `onFeatureThrottled()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Connection Behaviour](/sdk/flutter/connection-behaviour) · [All Real Time Listeners](/sdk/flutter/real-time-listeners) |
| Full reference | [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



CometChat SDK provides you with a mechanism to get real-time status of the connection to CometChat web-socket servers. To achieve this you need to use the `ConnectionListener` class provided by the CometChat SDK
Expand All@@ -21,12 +38,14 @@ Once the connection is broken, the disconnected callback is triggered, the SDK a

In order to use the ConnectionListeners, you need to add the ConnectionListeners using the `addConnectionListener` method provided by the SDK. You can add multiple listeners as shown below. Just make sure you add listeners with unique IDs.

Remove a listener with `removeConnectionListener(listenerId)` when the subscriber goes away — typically in `dispose()` — passing the same ID you registered with.

<Tabs>
<Tab title="Dart">
```dart
class Class_Name with ConnectionListener {
//1. Register Connection listener
//CometChat.addConnctionListener("listenerId", this);
//CometChat.addConnectionListener("listenerId", this);

//2. Ovveride the ConnectionListener methods
@override
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/create-group.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Create A Group"
description: "Create CometChat public, private, and password-protected groups in Flutter apps with group GUID, name, type, and password."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Create CometChat public, private, and password-protected groups in Flutter apps with group GUID, name, type, and password. |
| Key methods | `createGroup()` · `createGroupWithMembers()` |
| Key classes | `Group` · `GroupMember` · `CometChatMemberScope` · `CometChatException` · `CometChatGroupType` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Join A Group](/sdk/flutter/join-group) · [Update A Group](/sdk/flutter/update-group) · [Delete A Group](/sdk/flutter/delete-group) · [Add Members To A Group](/sdk/flutter/group-add-members) |
| Full reference | [`Group`](/sdk/reference/entities#group) · [`GroupMember`](/sdk/reference/entities#groupmember) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



## Create a Group
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/delete-conversation.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Delete A Conversation"
description: "Delete one-on-one or group conversations for the logged-in user in Flutter apps using conversation ID and type."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Delete one-on-one or group conversations for the logged-in user in Flutter apps using conversation ID and type. |
| Key methods | `deleteConversation()` |
| Key classes | `Conversation` · `CometChatException` · `CometChatConversationType` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Retrieve Conversations](/sdk/flutter/retrieve-conversations) |
| Full reference | [`Conversation`](/sdk/reference/entities#conversation) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



In case you want to delete a conversation, you can use the `deleteConversation()` method.
Expand Down
16 changes: 16 additions & 0 deletions sdk/flutter/delete-group.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,22 @@ title: "Delete A Group"
description: "Delete CometChat groups from Flutter apps by GUID when the logged-in user has admin permissions."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Delete CometChat groups from Flutter apps by GUID when the logged-in user has admin permissions. |
| Key methods | `deleteGroup()` |
| Key classes | `Group` · `CometChatException` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Create A Group](/sdk/flutter/create-group) · [Leave A Group](/sdk/flutter/leave-group) |
| Full reference | [`Group`](/sdk/reference/entities#group) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



## Delete Group
Expand Down
17 changes: 17 additions & 0 deletions sdk/flutter/delete-message.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,23 @@ title: "Delete A Message"
description: "Delete CometChat messages in Flutter apps and handle real-time or missed message deletion events."
---

<Accordion title="AI Integration Quick Reference">

| Field | Value |
| --- | --- |
| Package | `cometchat_sdk` |
| Import | `import 'package:cometchat_sdk/cometchat_sdk.dart';` |
| Purpose | Delete CometChat messages in Flutter apps and handle real-time or missed message deletion events. |
| Key methods | `addMessageListener()` · `deleteMessage()` |
| Key classes | `BaseMessage` · `CometChatException` |
| Listener callbacks | `onMessageDeleted()` |
| Prerequisites | SDK initialised via [`CometChat.init()`](/sdk/flutter/setup) and a logged-in user via [`CometChat.login()`](/sdk/flutter/authentication-overview). |
| Constraints | `onSuccess` and `onError` are **both required** — omitting either is a compile error, and awaiting the call alone gives you nothing to act on. Put the success path inside `onSuccess`. |
| Related | [Send A Message](/sdk/flutter/send-message) · [Edit A Message](/sdk/flutter/edit-message) |
| Full reference | [`BaseMessage`](/sdk/reference/messages#basemessage) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |

</Accordion>



While [deleting a message](/sdk/flutter/delete-message#delete-a-message) is straightforward, receiving events for deleted messages with CometChat has two parts:
Expand Down
Loading