Quick Setup ReferenceRequired Credentials: App ID, Region, Auth Key (dev) or Auth Token (prod)
Get from: CometChat Dashboard → Your App → API & Auth Keys
Get from: CometChat Dashboard → Your App → API & Auth Keys
I want to integrate with my app
- Get your application keys
- Add the CometChat dependency
- Initialize CometChat
- Register and Login your user
- Integrate our UI Kits
I want to explore a sample app (includes UI)
Import the app into Android Studio and follow the steps mentioned in theREADME.md file.
Java Chat App
Kotlin Chat App
Get your Application Keys
Sign up for CometChat and then:- Create a new app
- Head over to the API Keys section and note the Auth Key, App ID & Region
Minimum Requirements
- Android API Level 21
- Android API Level 24 (if you are using the Calls SDK)
- AndroidX Compatibility
Add the CometChat Dependency
First, add the repository URL to the project levelbuild.gradle file in the repositories block under the allprojects section.
- Groovy
build.gradle file in the dependencies section.
- Groovy
Starting from v2.4+, Voice & Video Calling functionality has been moved to a separate library. If you plan to use the calling feature, add the Calling dependency
implementation 'com.cometchat:calls-sdk-android:4.3.3' in the dependencies section of the app-level build.gradle file.android section of the app level gradle file.
- Groovy
Initialise CometChat
Theinit() method initializes the settings required for CometChat. This method takes the following parameters:
appID- Your CometChat App IDappSettings- An object of theAppSettingsclass created using theAppSettingsBuilderclass. The region field is mandatory and can be set using thesetRegion()method.
AppSettings class allows you to configure the following settings:
- Region: The region where your app was created.
- Presence Subscription: Represents the subscription type for user presence (real-time online/offline status).
- autoEstablishSocketConnection(boolean value): When set to
true, the SDK manages the WebSocket connection internally. When set tofalse, you must manage the WebSocket connection manually. The default value istrue. For more information, see the Managing Web-Socket connections manually section. - overrideAdminHost(adminHost: string): Takes the admin URL as input and uses it instead of the default admin URL. This is useful for dedicated deployments of CometChat.
- overrideClientHost(clientHost: string): Takes the client URL as input and uses it instead of the default client URL. This is useful for dedicated deployments of CometChat.
- Java
- Kotlin
APP_ID with your CometChat App ID and region with your App Region in the above code.
Register and Login your User
Once initialization is successful, you need to create a user. To create users on the fly, use thecreateUser() 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.
- Java
- Kotlin
UID and name are specified, as these are mandatory fields to create a user.
Once you have created the user successfully, you need to log the user into CometChat using the login() method.
We recommend calling the CometChat login() method once your user logs into your app. The login() method only needs to be called once.
This straightforward authentication method is ideal for proof-of-concept (POC) development or during the early stages of application development. For production environments, however, we strongly recommend using an Auth Token instead of an Auth Key to ensure enhanced security.
- Java
- Kotlin
AUTH_KEY with your App Auth Key in the above code.
The login() method returns the User object containing all the information of the logged-in user.
Integrate our UI Kits
- Refer to the Android Java UI Kit section to integrate the Android Java UI Kit into your app.
Next Steps
Setup SDK
Detailed installation and initialization guide for the Android SDK
Key Concepts
Understand core concepts like users, groups, messages, and conversations
Authentication
Learn about secure authentication with Auth Tokens for production apps
Send Messages
Start sending text, media, and custom messages to users and groups