CometChat Pro Documentation

You'll find comprehensive guides and documentation to help you start working with CometChat as quickly as possible. Let's jump right in!

React Native UI Kit

Learn a quick integration of text chat and voice/video calling features for your application

The CometChat React Native UI Kit is developed to keep developers in mind and aims to reduce development efforts significantly.

The UI Kit’s 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 React Native Chat UI Kit.

Follow the steps mentioned in the file.

Kindly, click on below button to download our React Native Chat UI Kit.

React Native Chat UI Kit

View on Github

I want to explore the sample app

Kindly, click on below button to download our React Native Chat Sample App.

React Native Chat Sample App

View on Github

Installation Steps


Before you begin, ensure you have met the following requirements:

  1. A text editor. (e.g. Visual Studio Code, Notepad++, Sublime Text, Atom, or VIM)

  2. Node

  3. npm

  4. React-Native

Installing CometChat React Native Chat UI Kit

Setup πŸ› 

To install React-Native UI Kit, you need to first register on CometChat Dashboard. Click here to sign up

i. Get your Application Keys πŸ”‘
Create a new app
Head over to the Quick Start or API & Auth Keys section and note the App ID, Auth Key, and Region.

ii. Add the CometChat Dependency

npm install @cometchat-pro/[email protected] --save

iii. Other required dependencies
These packages help make the ui-kit smooth and functioning


Configure CometChat inside your app

i. Initialize CometChat 🌟
The init() method initializes the settings required for CometChat. We suggest calling the init() method on app startup, preferably in the created() method of the Application class.

import {CometChat} from '@cometchat-pro/react-native-chat';

const appID = 'APP_ID';
const region = 'REGION';
const appSetting = new CometChat.AppSettingsBuilder()
CometChat.init(appID, appSetting).then(
  () => {
    console.log('Initialization completed successfully');
    // You can now call login function.
  (error) => {
    console.log('Initialization failed with error:', error);
    // Check the reason for error and take appropriate action.



Replace APP_ID and REGION with your CometChat App ID and Region in the above code

ii. Login your user πŸ‘€
This method takes UID and Auth Key as input parameters and returns the User object containing all the information of the logged-in user.

import {CometChat} from '@cometchat-pro/react-native-chat';

const authKey = 'AUTH_KEY';
const uid = 'SUPERHERO1';

CometChat.login(uid, authKey).then(
  (user) => {
    console.log('Login Successful:', { user });
  (error) => {
    console.log('Login failed with exception:', { error });



Replace AUTH_KEY with your CometChat Auth Key in the above code.

We have set up 5 users for testing having UIDs: SUPERHERO1, SUPERHERO2, SUPERHERO3, SUPERHERO4, and SUPERHERO5.

Add UI Kit to your project

  • Clone this repository.
  • Copy the cometchat-pro-react-native-ui-kit folder to your source folder.
  • Copy all the peer dependencies from package.json into your project's package.json and install them using npm install

Launch CometChat

CometChatUI is an option to launch a fully functional chat application using the UI Kit. In CometChatUI all the UI Components are interlinked and work together to launch a fully functional chat on your website/application.

import React from 'react';
import {View} from 'react-native';
import {CometChatUI} from '../cometchat-pro-react-native-ui-kit';

export default function CometChatUIView() {
  return (
    <View style={{flex: 1}}>
      <CometChatUI />

Checkout our sample app

Visit our React Native App repo to run the React Native sample app.

Updated about a month ago

React Native UI Kit

Learn a quick integration of text chat and voice/video calling features for your application

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.