Skip to content

Md-Mudassir47/react-native-zoom-us

 
 

Repository files navigation

react-native-zoom-us

This is a bridge for ZoomUS SDK:

Platform Version Url Changelog
iOS 5.7.1.645 https://github.com/zoom/zoom-sdk-ios https://marketplace.zoom.us/docs/changelog#labels/client-sdk-i-os
Android 5.7.1.1268 https://github.com/zoom/zoom-sdk-android https://marketplace.zoom.us/docs/changelog#labels/client-sdk-android

Tested on XCode 12.4 and react-native 0.66.0. (See details)

Pull requests are welcome.

Getting started

$ npm install react-native-zoom-us

Installation

If you have react-native < 0.60, check Full Linking Guide

Android

  1. Set pickFirst rules in android/app/build.gradle
android {
    packagingOptions {
        pickFirst 'lib/arm64-v8a/libc++_shared.so'
        pickFirst 'lib/x86/libc++_shared.so'
        pickFirst 'lib/x86_64/libc++_shared.so'
        pickFirst 'lib/armeabi-v7a/libc++_shared.so'
    }
}
  1. In your MainApplication.java inside of onCreate add SoLoader.loadLibrary("zoom");:
@Override
  public void onCreate() {
    super.onCreate();
    SoLoader.init(this, /* native exopackage */ false);
    SoLoader.loadLibrary("zoom"); // <-- ADD THIS LINE
    initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
  }
  1. Optional: Add custom activity config (android/app/src/main/res/values/config.xml)

If you have custom conference activity, instead official activity or custom UI.

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="zm_config_conf_activity">ID of your custom activity</string>
</resources>

See docs for more details.

iOS

  1. Make sure you have appropriate description in Info.plist:
<key>NSBluetoothPeripheralUsageDescription</key>
<string>We will use your Bluetooth to access your Bluetooth headphones.</string>
	
<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>
	
<key>NSPhotoLibraryUsageDescription</key>
<string>For people to share, we need access to your photos.</string>
  1. Update pods using cd ios/ && pod install && cd ..

  2. Make sure to set ENABLE_BITCODE = NO; for both Debug and Release because bitcode is not supported by Zoom iOS SDK

  3. Optional: Implement custom UI See docs for more details.

Usage

import ZoomUs from 'react-native-zoom-us';

// initialize minimal
await ZoomUs.initialize({
  clientKey: '...',
  clientSecret: '...',
})

// initialize using JWT
await ZoomUs.initialize({
  jwtToken: '...',
})

// initialize with extra config
await ZoomUs.initialize({
  clientKey: '...',
  clientSecret: '...',
  domain: 'zoom.us'
}, {
  disableShowVideoPreviewWhenJoinMeeting: true,
  enableCustomizedMeetingUI: true
})


// Start Meeting
await ZoomUs.startMeeting({
  userName: 'Johny',
  meetingNumber: '12345678',
  userId: 'our-identifier',
  zoomAccessToken: zak,
  userType: 2, // optional
})


// Join Meeting
await ZoomUs.joinMeeting({
  userName: 'Johny',
  meetingNumber: '12345678',
})

// Join Meeting with extra params
await ZoomUs.joinMeeting({
  userName: 'Johny',
  meetingNumber: '12345678',
  password: '1234',
  noAudio: true,
  noVideo: true,
})

// Leave Meeting
await ZoomUs.leaveMeeting()

// Connect Audio
await ZoomUs.connectAudio()
// you can also use autoConnectAudio: true in `ZoomUs.joinMeeting`

Docs

Testing

The plugin has been tested for joinMeeting using [smoke test procedure]https://github.com/mieszko4/react-native-zoom-us-test#smoke-test-procedure:

  • react-native-zoom-us: 6.5.1
  • react-native: 0.66.0
  • node: 14.16.0
  • macOS: 10.15.5
  • XCode: 12.4
  • android minSdkVersion: 21

FAQ

Does library support Expo?

You have to eject your expo project to use this library.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 56.0%
  • Objective-C 33.0%
  • TypeScript 10.2%
  • Ruby 0.8%