The CometChat Dashboard enables you to create new apps (projects) and manage your existing apps.
How many apps to create?
Ideally, you should create two apps- one for development and one for production. And you should use a single app irrespective of the number of platforms.
Do not create separate apps for every platform; if you do, your users on different platforms will not be able to communicate with each other!
- For every app, a unique App ID is generated. This App ID will be required when integrating CometChat within your app.
- Along with the App ID, you will need to create an Auth Key (from the Dashboard) which can be used for user authentication.
You can generate two types of keys from the dashboard.
The Auth Key can be used to create & login users.
In your client side code (during development)
Rest API Key
The Rest API Key can be used to perform any CometChat operation.
In your server side code
A user is anyone who uses CometChat.
- Each user is uniquely identified using UID.
- The UID is typically the primary ID of the user from your database.
UID can be alphanumeric with underscore and hyphen. Spaces, punctuation and other special characters are not allowed.
- A single user can have multiple auth tokens. The auth tokens should be per user per device.
- It should be generated by API call ideally, via server to server call. The auth token should then be given to CometChat for login.
- An Auth Token can only be deleted via dashboard or using REST API.
To allow a user to use CometChat, the user must log in to CometChat.
CometChat does not handle user management. You must handle user registration and login at your end. Once the user is logged into your app/site, you can log in the user to CometChat programmatically. So the user does not ever directly login to CometChat.
CometChat does not handle friends management. If you want to associate friends with your users, you must handle friends management in your app. Once two users are friends (i.e. they have accepted each other as friends), then you can associate them as friends in CometChat.
User registers in your app
You store the user information in your database (e.g. ID, name, email, phone, location etc. in
You add the user to CometChat (only ID & name) using the Rest API
User logs in to your app
You verify the credentials, login the user and retrieve the user ID
You log in the user to CometChat using the same user ID programmatically
User sends a friend request
You display the request to the potential friend
No action required
User accepts a friend request
You display the users as friends
You add both the users as friends using the Rest API
A role is a category for a group of similar users. For example, you may want to group your premium users using the role "Premium". You then use this to filter users or enable/disable features by writing conditional code.
- The User List can be used to build the Contacts or Who's Online view in your app.
- The list of users can be different based on the logged-in user.
A group can be used for multiple users to communicate with each other on a particular topic/interest.
- Each group is uniquely identified using GUID.
- The GUID is typically the primary ID of the group from your database. If you do not store group information in your database, you can generate a random string for use as GUID.
GUID can be alphanumeric with underscore and hyphen. Spaces, punctuation and other special characters are not allowed.
CometChat supports three different types of groups:
Any user can choose to join
Any user with a valid password can choose to join
Only users part of the group
Invited users will be auto-joined
Once a participant joins a group, they become a member of the group. Members are part of the group indefinitely i.e. they will keep receiving messages, calls & notifications. To stop, the participant must either be kicked, banned or intentionally leave the group.
CometChat supports three different types of member scopes in a group:
Group creator is assigned Admin scope
Any other user is assigned Participant scope
Any message in CometChat can belong to either one of the below categories
Any message belonging to the category
Custom messages are an option available for developers to send custom data across to users/groups. To send any additional data that does not fit in the default categories and types provided by CometChat, you can use the custom messages.
Action messages are system-generated messages. These can belong to either of the below types:
These are call-related messages. These can belong to either one of the two types:
For more information, you can refer to the Message structure and hierarchy guide.
Updated about a month ago