Skip to main content

Requirements

Install packages

Install react-native-daily-js and its peer dependencies:
@daily-co/react-native-webrtc must be installed with --save-exact. Using a version range can cause native build failures.

Expo projects

If your project uses Expo, use the @daily-co/config-plugin-rn-daily-js package to automatically configure the native project. This handles all of the iOS and Android steps below. Add the plugin to your app.json:
Then generate your native project:
This project cannot be used with Expo Go because it requires custom native code. Use a development build instead.

Bare React Native projects

iOS

Update the platform in your Podfile:
Then install pods:
Next, add the following keys to your Info.plist. The app will crash silently without the camera and microphone entries.
UIBackgroundModes: voip ensures audio continues uninterrupted when your app is backgrounded.

Android

Add permissions and the foreground service to your AndroidManifest.xml:
FOREGROUND_SERVICE_MEDIA_PROJECTION is only required if you intend to support screen sharing.
Update minSdkVersion in your top-level build.gradle:

Screen sharing

Screen sharing requires additional setup on both platforms. iOS: Screen sharing requires iOS 14.0 or later (update your Podfile platform accordingly). Additional setup is needed to integrate Daily’s React Native Screen Share Extension. See that repo’s README for a full walkthrough. Android: No additional steps beyond adding FOREGROUND_SERVICE_MEDIA_PROJECTION to your AndroidManifest.xml as shown above.

Verify installation

Once installed, join a call to confirm everything is working: