Skip to main content

Overview

CometChatUIKit is a static class that provides imperative methods for SDK initialization, authentication, and message sending. Most users won’t need these directly — CometChatProvider handles init and login automatically. These methods are useful for:

Initialization

CometChatUIKit.init(settings)

Initialize the CometChat SDK and UIKit.
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)

Authentication

CometChatUIKit.login(uid)

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

CometChatUIKit.loginWithAuthToken(authToken)

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

CometChatUIKit.logout()

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

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>