> ## Documentation Index
> Fetch the complete documentation index at: https://www.cometchat.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# React Native SDK

> Add real-time chat, voice, video, users, groups, messages, and push notifications to React Native apps with the CometChat SDK.

<Accordion title="AI Integration Quick Reference">
  ```bash theme={null}
  npm install @cometchat/chat-sdk-react-native
  ```

  ```javascript theme={null}
  import { CometChat } from "@cometchat/chat-sdk-react-native";

  // 1. Initialize (once at app startup)
  const appSettings = new CometChat.AppSettingsBuilder()
    .setRegion("APP_REGION") // e.g. "us", "eu", "in"
    .subscribePresenceForAllUsers()
    .autoEstablishSocketConnection(true)
    .build();

  await CometChat.init("APP_ID", appSettings);

  // 2. Login (check session first)
  const existing = await CometChat.getLoggedinUser();
  if (!existing) {
    await CometChat.login("cometchat-uid-1", "AUTH_KEY"); // dev only — use Auth Token in production
  }
  ```

  **Credentials:** App ID, Region, Auth Key from [CometChat Dashboard](https://app.cometchat.com)
  **Test UIDs:** `cometchat-uid-1` through `cometchat-uid-5`
</Accordion>

The CometChat React Native SDK lets you add real-time messaging, voice, and video calling to any React Native application.

## Requirements

| Requirement           | Minimum Version |
| --------------------- | --------------- |
| npm                   | 8.x             |
| Node.js               | 16              |
| React Native          | 0.63            |
| Android minSdkVersion | 24              |
| iOS                   | 11.0            |

## Getting Started

<Steps>
  <Step title="Get your credentials">
    [Sign up for CometChat](https://app.cometchat.com) and create an app. Note your App ID, Region, and Auth Key from the Dashboard.
  </Step>

  <Step title="Install and initialize">
    Add the SDK to your project and initialize it with your credentials. See [Setup SDK](/sdk/react-native/setup-sdk).
  </Step>

  <Step title="Authenticate users">
    Log in users with Auth Key (development) or Auth Token (production). See [Authentication](/sdk/react-native/authentication-overview).
  </Step>

  <Step title="Start building">
    Send your first message, make a call, or manage users and groups.
  </Step>
</Steps>

## Features

<CardGroup cols={2}>
  <Card title="Messaging" icon="comments" href="/sdk/react-native/send-message">
    1:1 and group chat, threads, reactions, typing indicators, read receipts, and file sharing.
  </Card>

  <Card title="Voice & Video Calling" icon="phone" href="/sdk/react-native/calling-overview">
    Ringing flows, direct call sessions, standalone calling, recording, and screen sharing.
  </Card>

  <Card title="Users" icon="user" href="/sdk/react-native/users-overview">
    Create, retrieve, and manage users. Track online/offline presence and block/unblock users.
  </Card>

  <Card title="Groups" icon="users" href="/sdk/react-native/groups-overview">
    Public, private, and password-protected groups with member management, roles, and ownership transfer.
  </Card>
</CardGroup>

## Sample Apps

Explore working examples with full source code:

<CardGroup cols={2}>
  <Card title="React Native Sample App" icon="github" href="https://github.com/cometchat/cometchat-uikit-react-native">
    React Native sample app with UI components
  </Card>
</CardGroup>

## UI Kits

Skip the UI work — use pre-built, customizable components:

<CardGroup cols={2}>
  <Card title="React Native UI Kit" icon="react" href="/ui-kit/react-native/overview">
    React Native UI Kit
  </Card>
</CardGroup>

## Resources

<CardGroup cols={2}>
  <Card title="Key Concepts" icon="lightbulb" href="/sdk/react-native/key-concepts">
    UIDs, GUIDs, auth tokens, and core SDK concepts
  </Card>

  <Card title="Message Structure" icon="sitemap" href="/sdk/react-native/message-structure-and-hierarchy">
    Message categories, types, and hierarchy
  </Card>

  <Card title="Changelog" icon="clock-rotate-left" href="/sdk/react-native/changelog">
    Latest SDK version and release notes
  </Card>

  <Card title="Upgrading from V3" icon="arrow-up" href="/sdk/react-native/upgrading-from-v3">
    Migration guide for V3 users
  </Card>
</CardGroup>
