Overview
V4 UI kits offer modular design, extended functionality & customization for a tailored chat experience. Check out our new UIKits here.
Check out our Kotlin UI Kit here.
The CometChat Android Java UI Kit lets developers integrate text chat & voice/video calling features into Android apps seamlessly.
- Faster connection & response times
- Higher rate limits
- Supports up to 100K users in a group
- Unlimited groups
- Support for Transient Messages
- Real-time user & group members count
The Android Java UI Kitβs fully customizable UI components simplify the process of integrating text chat and voice/video calling features to your website or mobile application in a few minutes.
I want to checkout Android Java UI Kit.
Follow the steps mentioned in the README.md
file.
Kindly, click on below button to download our Android Java Chat UI Kit.
Java Chat UI KitView on GithubI want to integrate UI Kit with my Appβ
I want to explore sample apps.
Import the app into Android Studio and follow the steps mentioned in the README.md
file.
Kindly, click on below button to download our Java Sample App.
Java Sample AppView on GithubPrerequisites ββ
Before you begin, ensure you have met the following requirements:
β
You have Android Studio
installed in your machine.
β
You have a Android Device or Emulator
with Android Version 6.0 or above.
β You have read CometChat Key Concepts.
Installing Android Java Chat UI Kitβ
Setup π§β
To setup Android Java Chat UI Kit, you need to first register on CometChat Dashboard. Click here to sign up.
Get your Application Keys πβ
- Create a new app: Click Add App option available β Enter App Name & other information β Create App
- You will find
APP_ID
,AUTH_KEY
andREGION
key at the top in QuickStart section or else go to "API & Auth Keys" section and copy theAPP_ID
,API_KEY
andREGION
key from the "Auth Only API Key" tab.
Add the CometChat Dependencyβ
Step 1 - Add the repository URL to the project levelbuild.gradle
file in the repositories block under the allprojects
section.
- build.gradle
allprojects {
repositories {
maven {
url "https://dl.cloudsmith.io/public/cometchat/cometchat-pro-android/maven/"
}
}
}
Step 2- Open the app levelbuild.gradle
file and follow below
- Add the below line in the dependencies section.
- build.gradle
dependencies {
implementation 'com.cometchat:pro-android-chat-sdk:3.0.1'
/*v2.4+ onwards, Voice & Video Calling functionality has been
moved to a separate library. In case you plan to use the calling feature,
please add the Calling dependency*/
implementation 'com.cometchat:pro-android-calls-sdk:2.1.1'
}
- Add the below lines android section
- build.gradle
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
You can refer to the below link for instructions on how to do so:
π Add CometChat Dependency Documentation
Configure CometChat SDKβ
Initialize CometChat πβ
The init()
method initializes the settings required for CometChat. Please make sure to call this method before calling any other methods from CometChat SDK.
- java
String appID = "APP_ID"; // Replace with your App ID
String region = "REGION"; // Replace with your App Region ("eu" or "us")
String authKey = "AUTH_KEY"; //Replace with your Auth Key.
AppSettings appSettings=new AppSettings.AppSettingsBuilder().subscribePresenceForAllUsers().setRegion(region).build();
CometChat.init(this, appID,appSettings, new CometChat.CallbackListener<String>() {
@Override
public void onSuccess(String successMessage) {
UIKitSettings.setAuthKey(authKey);
CometChat.setSource("ui-kit","android","java");
Log.d(TAG, "Initialization completed successfully");
}
@Override
public void onError(CometChatException e) {
Log.d(TAG, "Initialization failed with exception: " + e.getMessage());
}
});
Tip
UIKitSettings.setAuthKey(String authKey) is used to pass the Auth Key to uiKit library.
Make sure to replace region
and appID
with your credentials in the above code snippet.
Login User π€β
Once you have created the user successfully, you will need to log the user into CometChat using the login() method.
- java
String UID = "user1"; // Replace with the UID of the user to login
String authKey = "AUTH_KEY"; // Replace with your App Auth Key
if (CometChat.getLoggedInUser() == null) {
CometChat.login(UID, authKey, new CometChat.CallbackListener<User>() {
@Override
public void onSuccess(User user) {
Log.d(TAG, "Login Successful : " + user.toString());
}
@Override
public void onError(CometChatException e) {
Log.d(TAG, "Login failed with exception: " + e.getMessage());
}
});
} else {
// User already logged in
}
- The
login()
method needs to be called only once. - Replace
AUTH_KEY
with your App Auth Key in the above code snippet.
π Please refer to our SDK Documentation for more information on how to configure the CometChat Pro SDK and implement various features using the same.
Add Android Java UI Kit Libraryβ
To integrate the Android Java UI Kit, please follow the steps below:
- Clone the UI Kit Library from the android-chat-ui-kit repository or
- Import
uikit
Module from Module Settings.(Click here to know how to importuikit
as Module) - If the Library is added sucessfully, it will look like mentioned in the below image.
Configure Android Java UI Kit Libraryβ
To use UI Kit you have to add Material Design support in your app as the UI Kit uses Material Design Components.
- Add Material Design Dependency in build.gradle
- build.gradle
dependencies {
implementation 'com.google.android.material:material:<version>'
}
- Make sure that your app's theme should extend
Theme.MaterialComponents
. Follow the guide on Getting started Material Components
The following is the list of Material Components themes you can use to get the latest component styles and theme-level attributes.
Theme.MaterialComponents.NoActionBar
- Theme.MaterialComponents.Light.NoActionBar
- Theme.MaterialComponents.DayNight.NoActionBar
Update your app theme to inherit from one of these themes, e.g.:
- xml
<style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar.Bridge">
<!-- Customize your theme here. -->
</style>
As the UI Kit uses DataBinding you must enable DataBinding
To configure your app to use data binding, add the dataBinding element to your build.gradle
file in the app module, as shown in the following example:
- build.gradle
android {
dataBinding {
enabled = true
}
}
Open the gradle.properties
and check if the below stated line is present or not, if not then simply add it.
- gradle.properties
android.enableJetifier=true
We are using File Provider for storage & file access. So you need to add your application package name in manifestPlaceholders
- build.gradle
android {
defaultConfig {
...
manifestPlaceholders = [file_provider: "YOUR_PACKAGE_NAME"]
//add your application package.
}
}
Launch CometChat UIβ
CometChatUI is a way to launch a fully working chat application using the UI Kit .In UI Unified all the UI Screens and UI Components working together to give the full experience of a chat application with minimal coding effort.*
To use CometChatUI user has to launch CometChatUI
class. Add the following code snippet to launch CometChatUI
.
- java
startActivity(new Intent(YourActivity.this,CometChatUI.class))
Checkout our Android Java sample appβ
Visit our Java sample app repository to run the Android Java sample app.