# Try the demo app First, add the platform-specific Meeting SDK libraries you intend to use. Then authenticate, and finally run the demo app. >

> For **versions earlier than 6.4.5**, you cannot download the Meeting SDK > directly through Maven or CocoaPods. Download it from the Marketplace and > place it into the project. >

## Prepare to build for Android > If you are using Meeting SDK for React Native **version 6.4.5 or higher**, go directly to [Authenticate your app](#authenticate-your-app). 1. Copy the `zoom-sdk-android-VERSION/mobilertc-android-studio/mobilertc` folder from the Meeting SDK for Android and put it under `react-native-zoom-sdk/example/android`. 1. If you are building the Meeting SDK React Native 0.0.1-beta, modify a dependency in `react-native-zoom-sdk/example/android/build.gradle`. Replace `dependencies.add("default","com.google.android:flexbox:2.0.1")` with `dependencies.add("default","com.google.android.flexbox:flexbox:3.0.0")` ## Prepare to build for iOS 1. Copy iOS SDK libraries from the Meeting SDK for iOS. **Source:** `zoom-sdk-ios-VERSION/lib` **Destination:** `react-native-zoom-sdk/example/iOS` ## Authenticate your app Use your Client ID and Client Secret app credentials to generate a JSON web token (JWT) that your application will pass into the Meeting SDK. See [Meeting SDK authorization](/docs/meeting-sdk/auth/) for details. > **========== Disclaimer ==========** > > Be aware that all hard-coded variables and constants shown in the documentation and in the demo, such as JWT, are ONLY FOR DEMO AND TESTING PURPOSES. Hardcoding any Zoom credentials goes against Zoom's Security Best Practices. DO NOT HARDCODE any Zoom credentials (username, password, API Keys & secrets, SDK keys & secrets, etc.) or any Personal Identifiable Information (PII) inside your application. WE MAKE NO COMMITMENTS ABOUT ANY LOSS CAUSED BY HARDCODING CREDENTIALS, PII, OR SENSITIVE INFO INSIDE YOUR APP WHEN DEVELOPING WITH OUR SDK. ## Run the demo app > Since the Meeting SDK does not support `usesCleartextTraffic`, hot reloading won't work. You also must have `index.android.bundle` to run the demo app. 1. Fill in the JWT token into `react-native-zoom-sdk/example/config.ts`. ```javascript export const ZOOM_JWT_TOKEN = ""; ``` 2. To install dependencies, navigate to the root of the `react-native-zoom-sdk` working directory and run this command. ```shell yarn install ``` 3. To install dependencies for the demonpm app, navigate to the `react-native-zoom-sdk/example` directory in the working directory and run this command. ```shell yarn install ``` - To download and link dependencies on Podfile, navigate to `react-native-zoom-sdk/example/ios` in the working directory and run this command. ```shell pod install --repo-update ``` 4. To start the React Native service, navigate to the `react-native-zoom-sdk/example` directory and run the command `yarn start --reset-cache`. - To run the app on an Android device: a. Navigate to `react-native-zoom-sdk/example/config.ts` and update the JWT token. b. Delete the generated Android assets file at `example/android/app/src/main/assets/index.android.bundle`. c. To generate new assets for Android, navigate to the `/example` folder and run this command at the terminal prompt. ```shell 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 ``` d. Run `yarn Android` at the terminal prompt. - To run the app on an iOS device, run `yarn ios` at the terminal prompt or open `example/ios/ZoomMeetingSDKExample.xcworkspace` to run the project on Xcode.