The UI Kit wraps the Chat SDK methods to manage internal eventing and keep UI components synchronized. Use these wrapper methods instead of raw SDK calls.
CometChatUIKit.init(UIKitSettings) must be called before rendering any UI Kit components or calling any SDK methods. Initialization must complete before login.
Auth Key is for development/testing only. In production, generate Auth Tokens on the server using the REST API and pass them to the client via loginWithAuthToken(). Never expose Auth Keys in production client code.
Initializes the CometChat JavaScript SDK. Must be called on app startup before any other UI Kit method.
Replace APP_ID, REGION, and AUTH_KEY with values from the CometChat Dashboard. Auth Key is optional — use Auth Token for production.
JavaScript
Report incorrect code
Copy
Ask AI
import { CometChatUIKit, UIKitSettingsBuilder } from "@cometchat/chat-uikit-react";const COMETCHAT_CONSTANTS = { APP_ID: "APP_ID", // Replace with your App ID REGION: "REGION", // Replace with your App Region AUTH_KEY: "AUTH_KEY", // Replace with your Auth Key or leave blank if you are authenticating using Auth Token};//create the builderconst UIKitSettings = new UIKitSettingsBuilder() .setAppId(COMETCHAT_CONSTANTS.APP_ID) .setRegion(COMETCHAT_CONSTANTS.REGION) .setAuthKey(COMETCHAT_CONSTANTS.AUTH_KEY) .subscribePresenceForFriends() .build();//Initialize CometChatCometChatUIKit.init(UIKitSettings)?.then(() => { //login your user});
To use session storage instead of the default local storage, configure it during initialization:
JavaScript
TypeScript
Report incorrect code
Copy
Ask AI
import { CometChat } from "@cometchat/chat-sdk-javascript";import { UIKitSettingsBuilder } from "@cometchat/chat-uikit-react";const COMETCHAT_CONSTANTS = { APP_ID: "APP_ID", // Replace with your App ID REGION: "REGION", // Replace with your App Region AUTH_KEY: "AUTH_KEY", // Replace with your Auth Key};const UIKitSettings = new UIKitSettingsBuilder() .setAppId(COMETCHAT_CONSTANTS.APP_ID) .setRegion(COMETCHAT_CONSTANTS.REGION) .setAuthKey(COMETCHAT_CONSTANTS.AUTH_KEY) .subscribePresenceForAllUsers() .setStorageMode(CometChat.StorageMode.SESSION) .build();//Initialize CometChat UI Kit with Session StorageCometChatUIKit.init(UIKitSettings)?.then(() => { console.log("Initialization completed successfully with session storage"); // You can now call login function. }) .catch(console.log);
Report incorrect code
Copy
Ask AI
import { CometChat } from "@cometchat/chat-sdk-javascript";import { UIKitSettingsBuilder } from "@cometchat/chat-uikit-react";const COMETCHAT_CONSTANTS = { APP_ID: "APP_ID", // Replace with your App ID REGION: "REGION", // Replace with your App Region AUTH_KEY: "AUTH_KEY", // Replace with your Auth Key};const UIKitSettings = new UIKitSettingsBuilder() .setAppId(COMETCHAT_CONSTANTS.APP_ID) .setRegion(COMETCHAT_CONSTANTS.REGION) .setAuthKey(COMETCHAT_CONSTANTS.AUTH_KEY) .subscribePresenceForAllUsers() .setStorageMode(CometChat.StorageMode.SESSION) .build();//Initialize CometChat UI Kit with Session StorageCometChatUIKit.init(UIKitSettings)?.then(() => { console.log("Initialization completed successfully with session storage"); // You can now call login function. }) .catch(console.log);
Simple authentication for development/POC. For production, use Auth Token.
JavaScript
TypeScript
Report incorrect code
Copy
Ask AI
import { CometChatUIKit } from "@cometchat/chat-uikit-react"; //import uikit packageconst UID = "UID";CometChatUIKit.getLoggedinUser() .then((user) => { if (!user) { CometChatUIKit.login(UID) .then((user) => { console.log("Login Successful:", { user }); //mount your app }) .catch(console.log); } else { //user already logged in //mount your app } }) .catch(console.log);
Report incorrect code
Copy
Ask AI
import { CometChatUIKit } from "@cometchat/chat-uikit-react"; //import uikit packageconst UID: string = "UID";CometChatUIKit.getLoggedinUser() .then((user: CometChat.User) => { if (!user) { CometChatUIKit.login(UID) .then((user: CometChat.User) => { console.log("Login Successful:", { user }); // You can now launch the component }) .catch(console.log); } else { //user already logged in //You can now launch the component } }) .catch(console.log);