Skip to main content
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.
Which providers and credentials you need depends on your platform: Android / Web / React Native (Android) use FCM; iOS / React Native (iOS) / Flutter (iOS) use APNs (plus APNs VoIP for calls).

CometChat dashboard setup

  1. Go to Notifications → Settings and enable Push Notifications.
Enable Push Notifications
  1. 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 Device (iOS alerts): upload your .p8 Auth Key with its Key ID, Team ID, and Bundle ID.
    • APNs VoIP (iOS calls): add a second provider with the same .p8 (recommended for CallKit reliability).
Upload FCM service account JSON
  1. 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, create or select a project and enable Cloud Messaging.
  2. Register the app for your platform and download its config file:
Register your Android package name (the same as applicationId in android/app/build.gradle) and download google-services.json into android/app/.
  1. 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

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 CenterCertificates, 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.
.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

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.

Android

UI Kit implementation

iOS

UI Kit implementation

Flutter

Android + iOS

React Native (Android)

UI Kit implementation

React Native (iOS)

UI Kit implementation

Web

UI Kit implementation