Skip to main content

Documentation Index

Fetch the complete documentation index at: https://cometchat-22654f5b-docs-android-v6-beta2.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

When a user logs into your app, you need to programmatically login the user into CometChat. But before you log in the user to CometChat, you need to create the user. Summing up- When a user registers in your app
  1. You add the user details in your database
  2. You create a user in CometChat
When a user logs into your app
  1. You log in the user to your app
  2. You log in the user in CometChat (programmatically)

Creating a User

Ideally, user creation should take place at your backend. You can refer our Rest API to learn more about creating a user and use the appropriate code sample based on your backend language. However, if you wish to create users on the fly, you can use the createUser() method. This method takes a User object and the Auth Key as input parameters and returns the created User object if the request is successful.
let authKey: string = "AUTH_KEY";
let uid: string = "user1";
let name: string = "Kevin";

let user: CometChat.User = new CometChat.User(uid);

user.setName(name);

CometChat.createUser(user, authKey).then(
(user: CometChat.User) => {
console.log("user created", user);
}, (error: CometChat.CometChatException) => {
console.log("error", error);
}
);

UID can be alphanumeric with underscore and hyphen. Spaces, punctuation and other special characters are not allowed.

Updating a user

Updating a user similar to creating a user should ideally be achieved at your backend using the Restful APIs. For more information, you can check the update a user section. However, this can be achieved on the fly as well as using the updateUser() method. This method takes a User object and the Auth Key as inputs and returns the updated User object on the successful execution of the request.
let authKey = "AUTH_KEY";
let uid = "user1";
let name = "Kevin";

let user = new CometChat.User(uid);

user.setName(name);

CometChat.createUser(user, authKey).then(
  user => {
    console.log("user created", user);
  }, error => {
    console.log("error", error);
  }
)
Returns a User object. See User Class for all available fields.
UID can be alphanumeric with underscore and hyphen. Spaces, punctuation and other special characters are not allowed.

Updating a User

Like creation, user updates should ideally happen on your backend via the REST API. For client-side updates (development only), use updateUser():
let authKey: string = "AUTH_KEY";
let uid: string = "user1";
let name: string = "Kevin Fernandez";

let user: CometChat.User = new CometChat.User(uid);

user.setName(name);

CometChat.updateUser(user, authKey).then(
(user: CometChat.User) => {
console.log("user updated", user);
}, (error: CometChat.CometChatException) => {
console.log("error", error);
}
)

Ensure the User object has the correct UID set. Returns a User object. See User Class for all available fields.

Updating Logged-in User

Use updateCurrentUserDetails() to update the current user without an Auth Key. Note: You cannot update the user’s role with this method.
let uid: string = "user1";
let name: string = "Kevin Fernandez";

let user: CometChat.User = new CometChat.User(uid);

user.setName(name);

CometChat.updateCurrentUserDetails(user).then(
(user: CometChat.User) => {
console.log("user updated", user);
}, (error: CometChat.CometChatException) => {
console.log("error", error);
}
);

The method returns a User object.

Deleting a user

Deleting a user can only be achieved via the Restful APIs. For more information please check the delete a user section.

User Class

FieldEditableInformation
uidspecified on user creation. Not editable after thatUnique identifier of the user
nameYesDisplay name of the user
avatarYesURL to profile picture of the user
linkYesURL to profile page
roleYesUser role of the user for role based access control
metadataYesAdditional information about the user as JSON
statusNoStatus of the user. Could be either online/offline
statusMessageYesAny custom status message that needs to be set for a user
lastActiveAtNoThe unix timestamp of the time the user was last active.
hasBlockedMeNoA boolean that determines if the user has blocked the logged in user
blockedByMeNoA boolean that determines if the logged in user has blocked the user
tagsYesA list of tags to identify specific users

Next Steps

Retrieve Users

Fetch and filter user lists with pagination.

User Presence

Monitor real-time online/offline status.

Block Users

Block and unblock users.

Authentication

Log users into CometChat.