Skip to main content
FieldValue
ClassCometChatUIKit
Package@cometchat/chat-uikit-react
UsageStatic methods — no instantiation needed
NoteYou must call init() and login() before rendering CometChatProvider

Overview

CometChatUIKit is a static class that provides imperative methods for SDK initialization, authentication, and message sending. 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. You must call CometChatUIKit.init() and CometChatUIKit.login() (or loginWithAuthToken()) before mounting CometChatProvider. These methods are also useful for:
  • Sending messages programmatically outside the composer
  • Checking initialization/login state

Initialization

CometChatUIKit.init(settings)

Initialize the CometChat SDK and UIKit.
ParameterTypeDescription
settingsUIKitSettingsBuilt via UIKitSettingsBuilder
Returns: Promise<CometChat.User | null> — the logged-in user if a session exists, otherwise null. What it does:
  1. Initializes the CometChat SDK with app settings
  2. Sets source metadata for analytics
  3. Creates the plugin registry (default + user plugins)
  4. Initializes the localization singleton
  5. Resumes existing session (if any)
  6. Initializes Calls SDK (if enabled)

Setting Session Storage Mode

By default, session data is stored in localStorage. To use sessionStorage instead, configure it during initialization via the UIKitSettingsBuilder:
When using sessionStorage, configure it in your UIKitSettingsBuilder before calling CometChatUIKit.init():
Session storage is cleared when the browser tab is closed. Use this mode if you want users to re-authenticate on every new tab/session.

Authentication

CometChatUIKit.login(uid)

Log in a user by UID. Requires authKey in UIKitSettings.
ParameterTypeDescription
uidstringThe user’s UID
Returns: Promise<CometChat.User>

CometChatUIKit.loginWithAuthToken(authToken)

Log in with a server-generated auth token. Preferred for production.
ParameterTypeDescription
authTokenstringServer-generated auth token
Returns: Promise<CometChat.User>

CometChatUIKit.logout()

Log out the current user.
Returns: Promise<void>

User Management

Both methods require authKey in your UIKitSettings — they throw if it is missing. Intended for development/testing; in production, create and update users server-side via the REST API.

CometChatUIKit.createUser(user)

Create a new user.
ParameterTypeDescription
userCometChat.UserThe user to create
Returns: Promise<CometChat.User>

CometChatUIKit.updateUser(user)

Update an existing user.
ParameterTypeDescription
userCometChat.UserThe user to update
Returns: Promise<CometChat.User>

State Getters

CometChatUIKit.getLoggedInUser()

Get the currently logged-in user (synchronous).
Returns: CometChat.User | null

CometChatUIKit.isInitialized()

Check if the SDK has been initialized.
Returns: boolean

CometChatUIKit.isCallingReady()

Check if the Calls SDK is ready. Returns: boolean

CometChatUIKit.getPluginRegistry()

Get the plugin registry instance. Returns: CometChatPluginRegistry | null

CometChatUIKit.getSettings()

Get the UIKitSettings used during initialization. Returns: UIKitSettings | null

CometChatUIKit.getConversationUpdateSettings()

Get conversation update settings fetched from the dashboard. Returns: CometChat.ConversationUpdateSettings | null

Message Sending

These methods are low-level utilities. They send messages via the SDK but do not publish ui:message/sent events. This means:
  • The message won’t appear in CometChatMessageList automatically
  • The CometChatConversations list won’t update
For messages to appear in the UI, use the CometChatMessageComposer component, or manually publish the event after sending:

CometChatUIKit.sendTextMessage(message)

Send a text message. Sets muid and sentAt if not already set.
Returns: Promise<CometChat.BaseMessage>

CometChatUIKit.sendMediaMessage(message)

Send a media message (image, video, audio, file).
Returns: Promise<CometChat.BaseMessage>

CometChatUIKit.sendCustomMessage(message)

Send a custom message (polls, location, etc.).
Returns: Promise<CometChat.BaseMessage>