# Create Mobile App using RN and Expo

**URL:** <https://devforum.zoom.us/t/create-mobile-app-using-rn-and-expo/121028>\
**Category:** Meeting SDK\
**Created:** [November 16, 2024, 9:13pm UTC](https://devforum.zoom.us/t/create-mobile-app-using-rn-and-expo/121028 "2024-11-16T21:13:13Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![noahviktorschenk](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/noahviktorschenk/32/74873_2.png) [@noahviktorschenk](https://devforum.zoom.us/u/noahviktorschenk)\
**Post date:** [November 16, 2024, 9:13pm UTC](https://devforum.zoom.us/t/create-mobile-app-using-rn-and-expo/121028/1 "2024-11-16T21:13:13Z")

</div>

Hey there,

So I need to build a mobile app that can join Zoom meetings. I would like to use RN with Expo, but I can’t find any resources on this. I have tried the Get Started guide, but I was not able to get it working. Currently, I am using the Meeting SDK for RN, not sure if I can/should be using the Video SDK here.

Is it possible to create a mobile app with a Zoom client in it using RN and Expo and should I use the Meeting SDK or the Video SDK for joining already existing Zoom meetings?

Thanks,  
Noah

---

<div class="post-metadata">

**Author:** ![noahviktorschenk](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/noahviktorschenk/32/74873_2.png) [@noahviktorschenk](https://devforum.zoom.us/u/noahviktorschenk)\
**Post date:** [November 24, 2024, 2:05pm UTC](https://devforum.zoom.us/t/create-mobile-app-using-rn-and-expo/121028/2 "2024-11-24T14:05:16Z")

</div>

@chunsiong.zoom Just a friendly ping : D

---

<div class="post-metadata">

**Author:** ![chunsiong.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/chunsiong.zoom/32/35488_2.png) [@chunsiong.zoom](https://devforum.zoom.us/u/chunsiong.zoom)\
**Post date:** [November 25, 2024, 1:30pm UTC](https://devforum.zoom.us/t/create-mobile-app-using-rn-and-expo/121028/3 "2024-11-25T13:30:25Z")

</div>

@noahviktorschenk I’m not familiar with this.  
@ekaansh.zoom do you have experience on this?

---

<div class="post-metadata">

**Author:** ![ekaansh.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ekaansh.zoom/32/55004_2.png) [@ekaansh.zoom](https://devforum.zoom.us/u/ekaansh.zoom)\
**Post date:** [November 27, 2024, 10:52am UTC](https://devforum.zoom.us/t/create-mobile-app-using-rn-and-expo/121028/4 "2024-11-27T10:52:33Z")

</div>

Hey @noahviktorschenk if you want to join Zoom meetings you should use the Meeting SDK. The React Native SDK is compatible with Expo, given you’re using a [custom dev client](https://docs.expo.dev/develop/development-builds/create-a-build/). Happy to help if you have any questions.

---

<div class="post-metadata">

**Author:** ![noahviktorschenk](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/noahviktorschenk/32/74873_2.png) [@noahviktorschenk](https://devforum.zoom.us/u/noahviktorschenk)\
**Post date:** [December 5, 2024, 3:56pm UTC](https://devforum.zoom.us/t/create-mobile-app-using-rn-and-expo/121028/5 "2024-12-05T15:56:33Z")

</div>

@ekaansh.zoom Thank you for the response. Is there a sample app to reference to?

---

<div class="post-metadata">

**Author:** ![ekaansh.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ekaansh.zoom/32/55004_2.png) [@ekaansh.zoom](https://devforum.zoom.us/u/ekaansh.zoom)\
**Post date:** [December 10, 2024, 10:59am UTC](https://devforum.zoom.us/t/create-mobile-app-using-rn-and-expo/121028/6 "2024-12-10T10:59:02Z")

</div>

We have a Video SDK quickstart using Expo [here](https://github.com/zoom/videosdk-reactnative-quickstart).  
I’ll create one for the Meeting SDK soon and share when it’s available.

---

<div class="post-metadata">

**Author:** ![noahviktorschenk](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/noahviktorschenk/32/74873_2.png) [@noahviktorschenk](https://devforum.zoom.us/u/noahviktorschenk)\
**Post date:** [December 10, 2024, 8:39pm UTC](https://devforum.zoom.us/t/create-mobile-app-using-rn-and-expo/121028/7 "2024-12-10T20:39:11Z")

</div>

Perfect, thank you so much!

---

<div class="post-metadata">

**Author:** ![kyleflourish](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/kyleflourish/32/65532_2.png) [@kyleflourish](https://devforum.zoom.us/u/kyleflourish)\
**Post date:** [December 10, 2024, 9:35pm UTC](https://devforum.zoom.us/t/create-mobile-app-using-rn-and-expo/121028/8 "2024-12-10T21:35:02Z")

</div>

I’m trying to do the same thing! @noahviktorschenk did you have any luck, or are you waiting on the example?

---

<div class="post-metadata">

**Author:** ![noahviktorschenk](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/noahviktorschenk/32/74873_2.png) [@noahviktorschenk](https://devforum.zoom.us/u/noahviktorschenk)\
**Post date:** [December 10, 2024, 9:55pm UTC](https://devforum.zoom.us/t/create-mobile-app-using-rn-and-expo/121028/9 "2024-12-10T21:55:57Z")

</div>

Hey @kyleflourish,

I have not started yet, but I will be looking more into it this week. I’ll let you know if I figure something out. If you get a simple demo to work, I would also love to see it!

---

<div class="post-metadata">

**Author:** ![jjosephi.dev](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/jjosephi.dev/32/65174_2.png) [@jjosephi.dev](https://devforum.zoom.us/u/jjosephi.dev)\
**Post date:** [January 14, 2025, 6:42pm UTC](https://devforum.zoom.us/t/create-mobile-app-using-rn-and-expo/121028/10 "2025-01-14T18:42:39Z")

</div>

Hey @noahviktorschenk

did you ever figure it out? I’ve been trying to get Meeting SDK to work with Expo with no success so far

---

<div class="post-metadata">

**Author:** ![jjosephi.dev](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/jjosephi.dev/32/65174_2.png) [@jjosephi.dev](https://devforum.zoom.us/u/jjosephi.dev)\
**Post date:** [January 14, 2025, 6:43pm UTC](https://devforum.zoom.us/t/create-mobile-app-using-rn-and-expo/121028/11 "2025-01-14T18:43:10Z")

</div>

Did you ever get to making that demo?

---

<div class="post-metadata">

**Author:** ![noahviktorschenk](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/noahviktorschenk/32/74873_2.png) [@noahviktorschenk](https://devforum.zoom.us/u/noahviktorschenk)\
**Post date:** [January 14, 2025, 9:21pm UTC](https://devforum.zoom.us/t/create-mobile-app-using-rn-and-expo/121028/12 "2025-01-14T21:21:57Z")

</div>

No, some other things came up and the project was pushed, but I am picking it up again now. I will let you know if I get anything working.

---

<div class="post-metadata">

**Author:** ![kyleflourish](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/kyleflourish/32/65532_2.png) [@kyleflourish](https://devforum.zoom.us/u/kyleflourish)\
**Post date:** [February 12, 2025, 9:40pm UTC](https://devforum.zoom.us/t/create-mobile-app-using-rn-and-expo/121028/14 "2025-02-12T21:40:03Z")

</div>

I’ve been working on trying to get the Meeting SDK working with Expo but still haven’t quite gotten it to work. I built a very simple sample app to use for discussion: [GitHub - kjkurtz/expo-zoom-example: Example App for integrating the Zoom SDK with Expo](https://github.com/kjkurtz/expo-zoom-example)

The errors I’m seeing right now are:

- For Android builds:

```auto
Gradle: 8.10.2
FAILURE: Build failed with an exception.
Where:
Build file '/home/expo/workingdir/build/node_modules/@zoom/meetingsdk-react-native/android/build.gradle' line: 182
* What went wrong:
A problem occurred evaluating project ':zoom_meetingsdk-react-native'.
> Project with path ':mobilertc' could not be found in project ':zoom_meetingsdk-react-native'.

```

- For iOS builds:

```auto
❌ Undefined symbols for architecture arm64
┌─ Symbol: _OBJC_CLASS_$_MobileRTC
└─ Referenced from: in libmeetingsdk-react-native.a[3](RNZoomSDK.o)
❌ ld: symbol(s) not found for architecture arm64
❌ clang: error: linker command failed with exit code 1 (use -v to see invocation)

```

I see the instructions for the React Native Zoom Meeting SDK say you have to manually copy over the native Zoom libraries, but the Zoom Video SDK does not require that. I’d like to avoid that if possible.

Also tagging @donte.zoom from our discussion earlier today.

---

<div class="post-metadata">

**Author:** ![kyleflourish](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/kyleflourish/32/65532_2.png) [@kyleflourish](https://devforum.zoom.us/u/kyleflourish)\
**Post date:** [March 6, 2025, 8:07pm UTC](https://devforum.zoom.us/t/create-mobile-app-using-rn-and-expo/121028/16 "2025-03-06T20:07:02Z")

</div>

@donte.zoom or @ekaansh.zoom - any update on this? Thanks!

---

<div class="post-metadata">

**Author:** ![Christopher3](https://avatars.discourse-cdn.com/v4/letter/c/dec6dc/32.png) [@Christopher3](https://devforum.zoom.us/u/Christopher3)\
**Post date:** [June 19, 2025, 7:27am UTC](https://devforum.zoom.us/t/create-mobile-app-using-rn-and-expo/121028/17 "2025-06-19T07:27:50Z")

</div>

i’d also be very interested in this. a sample app would be amazing.

---

<div class="post-metadata">

**Author:** ![kyleflourish](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/kyleflourish/32/65532_2.png) [@kyleflourish](https://devforum.zoom.us/u/kyleflourish)\
**Post date:** [June 20, 2025, 2:57pm UTC](https://devforum.zoom.us/t/create-mobile-app-using-rn-and-expo/121028/18 "2025-06-20T14:57:33Z")

</div>

@donte.zoom@ekaansh.zoom Just checking in! This is still a problem for us. We are currently using the web sdk on mobile, but the experience isn’t great.

---

<div class="post-metadata">

**Author:** ![ekaansh.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ekaansh.zoom/32/55004_2.png) [@ekaansh.zoom](https://devforum.zoom.us/u/ekaansh.zoom)\
**Post date:** [July 17, 2025, 1:26pm UTC](https://devforum.zoom.us/t/create-mobile-app-using-rn-and-expo/121028/19 "2025-07-17T13:26:46Z")

</div>

Hey everyone,

Sorry about the radio silence here. We take feedback seriously and have been hard at work to improve the experience for our React Native platform. A first step in this direction is the [`v6.4.10`](https://developers.zoom.us/changelog/meeting-sdk/react-native/) release that went out recently. This release uses Maven Central and CocoaPods instead of needing to integrate local files directly. This should make the installation/integration a lot simpler than before.

I’m working on the best way to document and share the new step by step process to use the SDK with the community. You can expect a demo app (as promised) to be out early next week. We’re also working to update the documentation to showcase the improved experience. Thanks everyone for your patience and the continued trust. We’ll continue to iterate and improve the experience across platforms and products.

---

<div class="post-metadata">

**Author:** ![kyleflourish](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/kyleflourish/32/65532_2.png) [@kyleflourish](https://devforum.zoom.us/u/kyleflourish)\
**Post date:** [July 23, 2025, 2:55pm UTC](https://devforum.zoom.us/t/create-mobile-app-using-rn-and-expo/121028/20 "2025-07-23T14:55:37Z")

</div>

@ekaansh.zoom Thanks so much for the update! Happy to help test or provide feedback if it would help.

---

<div class="post-metadata">

**Author:** ![ekaansh.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ekaansh.zoom/32/55004_2.png) [@ekaansh.zoom](https://devforum.zoom.us/u/ekaansh.zoom)\
**Post date:** [July 23, 2025, 2:59pm UTC](https://devforum.zoom.us/t/create-mobile-app-using-rn-and-expo/121028/21 "2025-07-23T14:59:50Z")

</div>

Here’s a sample app for using Meeting SDK with React Native:

> **[GitHub - zoom/MeetingSDK-ReactNative-Quickstart: A simple app to showcase using the Zoom Meeting...](https://github.com/zoom/MeetingSDK-ReactNative-Quickstart)**
>
> A simple app to showcase using the Zoom Meeting SDK in a React Native app

The app is built using the React Native CLI since there are some limitations with Expo at the moment. I’m sharing the steps for setting it up in a fresh project:

1. Create a new project, we recommend using React Native CLI to simplify the setup

```bash
bunx react-native@latest init zoom-meeting-sdk

```

1. Install the Zoom Meeting SDK

```bash
bun i @zoom/meetingsdk-react-native

```

- For Android: add `implementation 'us.zoom.meetingsdk:zoomsdk:6.4.10'` to the `dependencies` in `android/app/build.gradle` file. Use the version number matching the npm packge.
- For iOS run: `npx pod-install` to install the pods

1. Add permissions for the camera and microphone

- For iOS: add `NSCameraUsageDescription` and `NSMicrophoneUsageDescription` to your `Info.plist` file.

```xml
    <key>NSCameraUsageDescription</key>
	<string>For people to see you during meetings, we need access to your camera.</string>
	<key>NSMicrophoneUsageDescription</key>
	<string>For people to hear you during meetings, we need access to your microphone.</string>

```

- For Android: add the necessary permissions to your `android/app/src/main/AndroidManifest.xml` file. Example:

```xml
    <uses-permission android:name="android.permission.INTERNET" />
    <!-- "Connect to the network" will need the following Permissions -->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <!-- In Meeting "Audio With VOIP/Share Screen Audio" will need the following Permissions -->
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <!-- "Preview/In Meeting Video/VirtualBackground/Share Camera" will need the following Permissions -->
    <uses-permission android:name="android.permission.CAMERA" />
    <!-- "Keep the CPU on in meeting when screen off" will need the following Permissions -->
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    ...

```

You can read the [docs](https://developers.zoom.us/docs/meeting-sdk/react-native/integrate/) for more details on the permissions.

1. Android only configuration

- Make sure you’re using at least `minSdkVersion = 26` & `targetSdkVersion = 35` in your `android/build.gradle` file.

- The Meeting SDK doesn’t support cleartext traffic for security reasons. Edit the `android/app/src/debug/AndroidManifest.xml` file to disable it:

```diff
    <application
        android:usesCleartextTraffic="true"
+ tools:replace="android:usesCleartextTraffic"
        ...

```

1. Wrap your app in the `ZoomSDKProvider`

```tsx
function App() {
  ...
  return (
    <ZoomSDKProvider config={{....}}>
      <YourApp>
    </ZoomSDKProvider>
  );

```

1. Use the Zoom Meeting SDK

```tsx
function YourApp() {
  const zoom = useZoom();
  const handleJoin = async () => {
     await zoom.joinMeeting({....});
  }
  ...

```

1. Run the app

```bash
# Android
bun run react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
bun run android
# iOS
bun run ios

```

From the repo [readme](https://github.com/zoom/MeetingSDK-ReactNative-Quickstart#how-to-setup-in-a-fresh-project). We’re reworking the react-native docs but wanted to share these asap.

---

<div class="post-metadata">

**Author:** ![JoshGachnang](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/joshgachnang/32/71838_2.png) [@JoshGachnang](https://devforum.zoom.us/u/JoshGachnang)\
**Post date:** [October 21, 2025, 4:04pm UTC](https://devforum.zoom.us/t/create-mobile-app-using-rn-and-expo/121028/22 "2025-10-21T16:04:11Z")

</div>

Hello! Any chance of an example using Expo any time soon? Thank you!

[Next page](https://devforum.zoom.us/t/create-mobile-app-using-rn-and-expo/121028.md?page=2)
