voximplant / react-native-voximplant

Voximplant mobile SDK for React Native (iOS/Android)
http://voximplant.com
205 stars 39 forks source link
android client-sdk ios react voximplant

Voximplant SDK for React Native

Voximplant Mobile SDK module for React Native. It lets developers embed realtime voice and video communication into React Native apps and works together with Voximplant cloud platform. The SDK uses WebRTC for media processing.

Example

You can get the demo app from http://github.com/voximplant/react-native-demo

Supported React Native Versions

React Native >= 0.47.0

Getting started

yarn add react-native-voximplant

iOS

Automatic installation

Manual install (React Native <= 0.59)

  1. Make sure you have "React Native" project created with react-native init
  2. Open or create ios/Podfile and add the following dependencies. Please use demo project Podfile ad a reference.
    pod 'react-native-voximplant', path: '../node_modules/react-native-voximplant'
  3. Add use_frameworks! at the top of your target configuration.

    Note: since the version 1.6.0, use_frameworks! is no longer mandatory.

  4. Run pod install from /ios/
  5. Start XCode and open generated .xcworkspace
  6. Check if there is no *.xcodeproj in the project navigation (see the Libraries section). In case of any please remove them. Since React dependencies are added via Podfile, double integration of its modules may lead to unpredictable/incorrect behavior of an application.
  7. Run your project (Cmd+R)

Android

Automatic installation

Manual install

  1. Make sure you have "React Native" project created with react-native init
  2. It is required to add Java 8 support.

    • Open android/app/build.gradle file and add the following lines to ‘android’ section:
      compileOptions {
          sourceCompatibility JavaVersion.VERSION_1_8
          targetCompatibility JavaVersion.VERSION_1_8
      }
    • If you're using gradle version < 3.0.0, do this step and the next one OR run the gradle sync command in Android Studio, then follow the provided hints. Open the android/build.gradle file and update the Android plugin for gradle:

      dependencies {
        // use the latest available version
        classpath 'com.android.tools.build:gradle:3.1.3'
      }​
      
    • Open the android/gradle/wrapper/gradle-wrapper.properties file and edit the distributionUrl to gradle-4.4-all.zip:
      distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
  3. Run the react-native link command to link react-native-voximplant Android dependency OR perform the following steps:

    • Open up android/app/main/java/[...]/MainApplication.java

    • Add import com.voximplant.reactnative.VoxImplantReactPackage; to the imports at the top of the file

      Add new VoxImplantReactPackage() to the list returned by the getPackages() method

    • Append the following lines to android/settings.gradle:

      include ':react-native-voximplant'
      project(':react-native-voximplant').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-voximplant/android')
    • Insert the following lines inside the dependencies block in android/app/build.gradle:

      compile project(':react-native-voximplant')

Usage

You will need free Voximplant developer account setup for making and receiving calls using the SDK. Learn more at the Getting started page.

Official guides:

Have a question