Use of this sample app is subject to our Terms of Use.
This is a sample application that demonstrates how to use the Zoom Video SDK in a React Native application. Built with Expo.
- Environment setup for React Native
- Node (LTS) & Yarn
- A Zoom Video SDK Account
- Clone the Repo
git clone https://github.com/zoom/VideoSDK-ReactNative-Quickstart.git
- Install the dependencies
yarn
- Install cocoapods (iOS only)
npx pod-install ## (or) cd ios && pod install
- Add your Zoom Video SDK credentials
- Open
config.ts
and replaceZOOM_APP_KEY
andZOOM_APP_SECRET
with your Zoom Video SDK credentials.
Disclaimer: It's not recommended to store your credentials in the source code. This is only for demonstration purposes for sake of simplicity. You should use a secure backend to generate the token and pass it to the client.
- Run the app
yarn ios
# or
yarn android
- Create a new project, we recommend using Expo to simplify the setup
yarn create expo zoom-video-sdk --template # select Blank (Typescript)
# or
npx react-native@latest init zoomRNCli --template react-native-template-typescript
- Install the Zoom Video SDK
yarn add @zoom/react-native-videosdk
- For iOS run:
npx pod-install
to install the pods
- Add permissions for the camera and microphone
- Add the following to your
app.json
.
{
"expo": {
"android": {
"permissions": ["CAMERA", "RECORD_AUDIO"]
},
"ios": {
"infoPlist": {
"NSCameraUsageDescription": "Text",
"NSMicrophoneUsageDescription": "Text"
}
}
}
}
If you're not using Expo:
- For iOS you'll have to add these to your
info.plist
manually. - For Android, you can request permissions at runtime using the
Permissions
module as done inusePermission
in utils/lib.tsx or add these to yourAndroidManifest
file.
- Wrap your app in the
ZoomVideoSdkProvider
function App() {
...
return (
<ZoomVideoSdkProvider config={{....}}>
<YourApp>
</ZoomVideoSdkProvider>
);
- Use the Zoom Video SDK
function YourApp() {
const zoom = useZoom();
const handleJoin = async () => {
await zoom.joinSession({....});
}
...
- Scaffold the native code (Skip if not using Expo)
npx expo prebuild
- Run the app
- Expo
npx expo run:ios
# or
npx expo run:android
- React Native
npm run android
# or
npm run ios
If you're looking for help, try Developer Support or our Developer Forum. Priority support is also available with Premier Developer Support plans.