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
Skip the create new app step. Your existing v2 app can be migrated to v3. Follow the steps mentioned in the Add the CometChat dependency section below to upgrade to the latest version of v3.
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
Gradle
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
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
Initialize 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.
init() method on app startup.
- Java
- Kotlin
| Parameter | Description |
|---|---|
this | Android context for your application |
appID | CometChat App ID |
appSetting | An object of the AppSettings class. |
Auto Mode Connection
Know more about auto mode connection click here
| App State | Behaviour |
|---|---|
| App in foreground | Connected with WebSocket |
| App in background | Immediately disconnected with WebSocket |
Manual Mode Connection
Know more about manual mode connection click here
| App State | Behaviour |
|---|---|
| App in foreground | Call CometChat.connect() to create the WebSocket connection |
| App in background | Disconnect the WebSocket connection if no ping is received within 30 seconds after the app goes in the background. |
Next Steps
Authentication
Learn about secure authentication with Auth Tokens for production apps
Send Messages
Start sending text, media, and custom messages to users and groups
Key Concepts
Understand core concepts like users, groups, messages, and conversations
User Management
Create and manage users in your CometChat application