Methods
Overview
The UI Kit's core function is to extend the Chat SDK, essentially translating the raw data and functionality provided by the underlying methods into visually appealing and easy-to-use UI components.
To effectively manage and synchronize the UI elements and data across all components in the UI Kit, we utilize internal events. These internal events enable us to keep track of changes in real time and ensure that the UI reflects the most current state of data.
The CometChat UI Kit has thoughtfully encapsulated the critical Chat SDK methods within its wrapper to efficiently manage internal eventing. This layer of abstraction simplifies interaction with the underlying CometChat SDK, making it more user-friendly for developers.
Methods
You can access the methods using the CometChatUIKit
class. This class provides access to all the public methods exposed by the CometChat UI Kit.
Init
This method initializes the settings required for CometChat Javascript SDK. First, ensure UIKitSettings is set and then call the init()
method on the app startup.
Make sure you replace the APP_ID, REGION and AUTH_KEY with your CometChat App ID, Region and Auth Key in the below code. The Auth Key
is an optional property of the UIKitSettings
Class. It is intended for use primarily during proof-of-concept (POC) development or in the early stages of application development. You can use the Auth Token method to log in securely.
- Javascript
import { UIKitSettingsBuilder } from "@cometchat/uikit-shared"; //import shared package
const COMETCHAT_CONSTANTS = {
APP_ID: "APP_ID", // Replace with your App ID
REGION: "REGION", // Replace with your App Region ("eu" or "us")
AUTH_KEY: "AUTH_KEY", // Replace with your Auth Key or leave blank if you are authenticating using Auth Token
};
//create the builder
const UIKitSettings = new UIKitSettingsBuilder()
.setAppId(COMETCHAT_CONSTANTS.APP_ID)
.setRegion(COMETCHAT_CONSTANTS.REGION)
.setAuthKey(COMETCHAT_CONSTANTS.AUTH_KEY)
.subscribePresenceForFriends()
.build();
//Initialize CometChat
CometChatUIKit.init(UIKitSettings)?.then(() => {
//login your user
});
Get Logged In User
You can use this method to check if there is any existing session in the SDK. This method should return the details of the logged-in user.
- Javascript
import { CometChatUIKit } from "@cometchat/chat-uikit-react"; //import uikit package
CometChatUIKit.getLoggedinUser()
.then((user) => {
//Login user
})
.catch(console.log);
Login using Auth Key
This simple authentication procedure is useful when you are creating a POC or if you are in the development phase. For production apps, we suggest you use AuthToken instead of Auth Key.
- Javascript
- Typescript
import { CometChatUIKit } from "@cometchat/chat-uikit-react"; //import uikit package
const 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);
import { CometChatUIKit } from "@cometchat/chat-uikit-react"; //import uikit package
const 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);
Login using Auth Token
This advanced authentication procedure does not use the Auth Key directly in your client code thus ensuring safety.
- Create a User via the CometChat API when the user signs up in your app.
- Create an Auth Token via the CometChat API for the new user and save the token in your database.
- Load the Auth Token in your client and pass it to the
loginWithAuthToken()
method.
- Javascript
- Typescript
import { CometChatUIKit } from "@cometchat/chat-uikit-react"; //import uikit package
const authToken = "AUTH_TOKEN";
CometChatUIKit.getLoggedinUser()
.then((user) => {
if (!user) {
//Login user
CometChatUIKit.loginWithAuthToken(authToken)
.then((user) => {
console.log("Login Successful:", { user });
//mount your app
})
.catch(console.log);
} else {
//user already logged in
//mount your app
}
})
.catch(console.log);
import { CometChatUIKit } from "@cometchat/chat-uikit-react"; //import uikit package
const authToken: string = "AUTH_TOKEN";
CometChat.getLoggedinUser()
.then((user: CometChat.User) => {
if (!user) {
//Login user
CometChatUIKit.loginWithAuthToken(authToken)
.then((user: CometChat.User) => {
console.log("Login Successful:", { user });
//mount your app
})
.catch(console.log);
}
})
.catch(console.log);