Use this file to discover all available pages before exploring further.
AI Integration Quick Reference
// Create a userlet user = User(uid: "user1", name: "Kevin")CometChat.createUser(user: user, apiKey: "AUTH_KEY", onSuccess: { user in }, onError: { error in })// Update a userlet updateUser = User(uid: "user1", name: "Kevin Fernandez")CometChat.updateUser(user: updateUser, apiKey: "AUTH_KEY", onSuccess: { user in }, onError: { error in })// Update logged-in user (no auth key needed)CometChat.updateCurrentUserDetails(user: currentUser, onSuccess: { user in }, onError: { error in })
Note: User creation/deletion should ideally happen on your backend via the REST API.
Users must exist in CometChat before they can log in. This page covers creating, updating, and deleting users.The typical flow:
User registers in your app → Create user in CometChat
User creation should ideally happen on your backend via the REST API.
Security: Never expose your Auth Key in client-side production code. User creation and updates using Auth Key should ideally happen on your backend server. Use client-side creation only for prototyping or development.
For client-side creation (development only), use createUser():
Swift
let newUser : User = User(uid: "user1", name: "Kevin") // Replace with your uid and the name for the user to be created.let authKey = "AUTH_KEY" // Replace with your Auth Key.CometChat.createUser(user: newUser, apiKey: authKey, onSuccess: { (User) in print("User created successfully. \(User.stringValue())") }) { (error) in print("The error is \(String(describing: error?.description))")}
UID can be alphanumeric with underscore and hyphen. Spaces, punctuation and other special characters are not allowed.
Like creation, user updates should ideally happen on your backend via the REST API.For client-side updates (development only), use updateUser():
Swift
let updateUser : User = User(uid: "user1", name: "Kevin Fernandez") // Replace with your uid and the name for the user to be created.let authKey = "AUTH_KEY" // Replace with your Auth Key.CometChat.updateUser(user: newUser1, apiKey: authKey, onSuccess: { (User) in print("User updated successfully. \(User.stringValue())") }) { (error) in print("The error is \(String(describing: error?.description))") }
Use updateCurrentUserDetails() to update the current user without an Auth Key. Note: You cannot update the user’s role with this method.
Swift
let currentUser = User(uid: "cometchat-uid-1", name: "Andrew Joseph")CometChat.updateCurrentUserDetails(user: currentUser, onSuccess: { user in print("Updated user object",user)}, onError: { error in print("Update user failed with error: \(error?.errorDescription)")})
The method updates the logged-in user irrespective of the UID passed.