Skip to main content
Quick Reference - Key Expo setup steps:
// Android: app.json → android block
"permissions": ["CAMERA", "RECORD_AUDIO", "INTERNET", "MODIFY_AUDIO_SETTINGS"],
"plugins": [["expo-build-properties", { "android": { "minSdkVersion": 24 } }]]

// iOS: app.json → ios block
"infoPlist": {
  "NSCameraUsageDescription": "This app uses the camera for video calls.",
  "NSMicrophoneUsageDescription": "This app uses the microphone for audio/video calls."
}

Add the CometChatCalls Dependency

To add CometChat Calls SDK, please refer to the steps mentioned here.

Permissions

Our React Native Calls SDK does not work with Expo GO since it requires some custom native modules. Also, expo does not recommend using Expo GO for building production grade apps. So in order to use our Calls SDK in an expo app you need to use development builds. You can follow the official Expo guide for more details.
Expo GO is not supported. You must use development builds to use the CometChat Calls SDK in an Expo app.

Android

You need to add the below permissions & plugin block inside android block of the app.json file. You need to install expo-build-properties package in your app.
"permissions": [
  "CAMERA",
  "READ_EXTERNAL_STORAGE",
  "WRITE_EXTERNAL_STORAGE",
  "VIBRATE",
  "INTERNET",
  "MODIFY_AUDIO_SETTINGS",
  "RECORD_AUDIO",
  "ACCESS_NETWORK_STATE"
],
"plugins": [
  [
    "expo-build-properties",
    {
      "android": {
        "minSdkVersion": 24,
        "extraMavenRepos": ["https://dl.cloudsmith.io/public/cometchat/cometchat-pro-android/maven/"]
      }
    }
  ]
]

iOS

You need to add the below permissions block inside ios block of the app.json file.
"infoPlist": {
    "NSCameraUsageDescription": "This app uses the camera for video calls.",
    "NSMicrophoneUsageDescription": "This app uses the microphonr for audio/video calls."
}

Initialize CometChat Calls

To initialize CometChat Calls SDK, please refer to the guide here

Troubleshooting

Ensure you’re using a development build, not Expo GO. Run npx expo prebuild followed by npx expo run:android or npx expo run:ios to create a development build with native modules.
Verify that minSdkVersion is set to at least 24 in the expo-build-properties plugin config. The CometChat Calls SDK requires Android API level 24 or higher.
Check that NSCameraUsageDescription and NSMicrophoneUsageDescription are set in the infoPlist block of your app.json. Without these, iOS will silently deny access to camera and microphone.

Next Steps