> ## 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.

# Getting Started

> Getting started with CometChat Push Notifications — enable push, add providers, configure Firebase and APNs, then pick your platform.

The steps below are common to every platform. Complete them once, then follow your platform guide for app-specific wiring (Gradle, Podfile, manifest, service worker, token registration). Each platform guide links back here.

> [!NOTE]
>
> Which providers and credentials you need depends on your platform: **Android / Web / React Native (Android) / Flutter (Android)** use **FCM**; **iOS / React Native (iOS) / Flutter (iOS)** use **APNs**, which also carries VoIP pushes for calls.

## CometChat dashboard setup

1. Go to **Notifications → Settings** and enable **Push Notifications**.

![Enable Push Notifications](https://mintcdn.com/cometchat-22654f5b/NuY3hD_g_g_X-fwH/images/80a520bb-pushnotification-enable-e64632d479a2ebba111453b95bd522c6.png?fit=max\&auto=format\&n=NuY3hD_g_g_X-fwH\&q=85\&s=6c50d7c706ee0833ad673d81a0f972b8)

2. Click **Add Credentials** and add the provider(s) your platform needs:

   * **FCM** (Android, Web, React Native Android, Flutter Android): upload the Firebase **service account JSON** (Firebase → Project settings → Service accounts → Generate new private key).
   * **APNs** (iOS alerts and calls): upload your `.p8` Auth Key with its **Key ID**, **Team ID**, and **Bundle ID**. One provider with a `.p8` key serves both alert and VoIP pushes; a `.p12` certificate provider serves only one of them.

![Upload FCM service account JSON](https://mintcdn.com/cometchat-22654f5b/1W9AWrFs7khmFUQr/images/c6447647-pushnotification-fcm-68092b02a5361d51ba14b09289da3a78.png?fit=max\&auto=format\&n=1W9AWrFs7khmFUQr\&q=85\&s=23a5c3c21dc7dc5eac85c720ea62d09c)

3. Copy each **Provider ID** and keep your **App ID**, **Region**, and **Auth Key** handy — you'll add these to your app's constants when registering tokens.

## Firebase configuration

Required for FCM (Android, Web, React Native Android, Flutter Android).

1. In the [Firebase Console](https://console.firebase.google.com/), create or select a project and enable **Cloud Messaging**.
2. Register the app for your platform and download its config file:

> [tab] Android
>
> Register your Android package name (the same as `applicationId` in `android/app/build.gradle`) and download **`google-services.json`** into `android/app/`.

> [tab] Web
>
> Add a **Web** app (`</>`), copy the **Firebase config** object, and under **Project settings → Cloud Messaging → Web Push certificates** generate/copy the **VAPID key**.

3. For the CometChat **FCM** provider, generate a **service account JSON** under **Project settings → Service accounts → Generate new private key** and upload it in the dashboard step above.

![Firebase - Push Notifications](https://mintcdn.com/cometchat-22654f5b/HxM9nuCOhaEOdKpp/images/firebase-push-notifications.png?fit=max\&auto=format\&n=HxM9nuCOhaEOdKpp\&q=85\&s=517052103357ccaa8f81995cd273818c)

## iOS (Apple) setup

Required for any iOS target (native iOS, React Native iOS, Flutter iOS).

1. **APNs Auth Key (`.p8`)** — in the [Apple Developer Member Center](https://developer.apple.com/membercenter) → **Certificates, Identifiers & Profiles → Keys**, click **+**, enable **Apple Push Notification service (APNs)**, register, and download the `.p8`. Note the **Key ID**, **Team ID**, and your **Bundle ID** — you'll upload these to the CometChat APNs provider(s) in the dashboard step above.
2. **Capabilities** — in Xcode, enable **Push Notifications** and **Background Modes → Remote notifications** (add **Voice over IP** as well if you support calls). Add microphone/camera usage strings to `Info.plist` for CallKit.

> [!WARNING]
>
> **`.p12` certificates are deprecated.** Apple recommends `.p8` Auth Keys — one key works for all your apps, they never expire, and they are the only format actively supported going forward. Migrate to `.p8` if you haven't already.

![Enable Push Notifications and Background Modes for APNs](https://mintcdn.com/cometchat-22654f5b/HxM9nuCOhaEOdKpp/images/notification-capabilities-apns.png?fit=max\&auto=format\&n=HxM9nuCOhaEOdKpp\&q=85\&s=cacdc1a5e718b8ece82db876b58e9108)

## Choose your platform

After completing the setup above, follow the guide for your platform to wire the client, register tokens after login, and handle taps/calls/badges.

> [card] [Android](https://www.cometchat.com/docs/notifications/android-push-notifications.md)
>
> UI Kit implementation

> [card] [iOS](https://www.cometchat.com/docs/notifications/ios-apns-push-notifications.md)
>
> UI Kit implementation

> [card] [Flutter](https://www.cometchat.com/docs/notifications/flutter-push-notifications.md)
>
> Android + iOS

> [card] [React Native (Android)](https://www.cometchat.com/docs/notifications/react-native-push-notifications-android.md)
>
> UI Kit implementation

> [card] [React Native (iOS)](https://www.cometchat.com/docs/notifications/react-native-push-notifications-ios.md)
>
> UI Kit implementation

> [card] [Web](https://www.cometchat.com/docs/notifications/web-push-notifications.md)
>
> UI Kit implementation


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.