Socket
Socket
Sign inDemoInstall

opentok-react-native

Package Overview
Dependencies
20
Maintainers
4
Versions
84
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    opentok-react-native

React Native components for OpenTok iOS and Android SDKs


Version published
Maintainers
4
Created

Changelog

Source

2.27.0 (March 2024)

  • [Update]: Update OpenTok Android SDK and OpenTok iOS SDK to version 2.27.0.

    This version adds support for the VP9 codec in relayed sessions. For more information, see the video codecs documentation.

    This version adds support for adaptive media routing. For more information, see the adaptive media routing documentation.

    For more details, see the release notes for the OpenTok iOS and Android SDKs.

  • [Update]: This version adds support for end-to-end encryption. The OTSession component includes a new encryptionSecret prop, which you can use to set and change the encryption secret used by the local client.

  • [Update]: This version adds a new OTPublisher audioFallback option, which supports both subscriber and publisher audio fallback. The audioFallback.subscriber property replaces the OTPublisher audioFallbackEnabled option, which is deprecated. The OTPublisher component has new callback functions for publisher audio fallback-related events: videoDisabled(), videoEnabled(), videoDisableWarning(), and videoDisableWarningLifted(). See the audio fallback developer guide.

  • [Update]: The OTPublisher.setVideoTransformer() method now supports the background image replacement transformer in Android (as well as iOS). And the custom radius option for the background blur filter is now supported in Android (as well as iOS).

  • [Update]: The axios package is updated. This updates a vulnerable version of in the follow-redirects dependency.

  • [Fix]: This version fixes some issues in the TypeScript definitions.

  • [Fix]: This version fixes the following events, which were not being dispatched:

    • OTPublisher audioNetworkStats
    • OTPublisher videoNetworkStats
    • OTPublisher muteForced
    • OTSession muteForced
  • [Fix]: This version fixes the OTSession.forceMuteAll() method in iOS.

Readme

Source

opentok-react-native

Tokbox is now known as Vonage

React Native library for using OpenTok.

This library is now officially supported by Vonage.

In this repo, you'll find the OpenTok React Native library.

Pre-Requisites:

  1. Install node.js

  2. Install and update Xcode (you will need a Mac)

  1. Install and update Android Studio

Installation:

  1. In your terminal, change into your React Native project's directory

  2. Add the library using npm or yarn.

  • npm install opentok-react-native
  • yarn add opentok-react-native

iOS Installation

Note: Please make sure to have CocoaPods on your computer. If you've installed this package before, you may need to edit your Podfile and project structure because the installation process has changed.

  1. In you terminal, change into the ios directory of your React Native project.

  2. Create a pod file by running: pod init.

For React Native < 0.60, add this to your Podfile:

    target '<YourProjectName>' do

      # Pods for <YourProject>
        pod 'OTXCFramework', '2.27.0'
    end

  1. Now run, pod install

  2. After installing the OpenTok iOS SDK, change into your root directory of your project.

For React Native < 0.60, now run react-native link opentok-react-native.

  1. Open <YourProjectName>.xcworkspace contents in XCode. This file can be found in the ios folder of your React Native project.

  2. Click File and New File

  3. Add an empty swift file to your project:

    • You can name this file anything i.e: OTInstall.swift. This is done to set some flags in XCode so the Swift code can be used.
  4. Click Create Bridging Header when you're prompted with the following modal: Would you like to configure an Objective-C bridging header?

  5. Ensure you have enabled both camera and microphone usage by adding the following entries to your Info.plist file:

<key>NSCameraUsageDescription</key>
<string>Your message to user when the camera is accessed for the first time</string>
<key>NSMicrophoneUsageDescription</key>
<string>Your message to user when the microphone is accessed for the first time</string>

If you try to archive the app and it fails, please do the following:

  1. Go to Target
  2. Click on Build Phases
  3. Under the Link Binary With Libraries section, remove the libOpenTokReactNative.a and add it again

Android Installation

  1. In your terminal, change into your project directory.

  2. If you have already run react-native link opentok-react-native for the iOS installation, please skip this step.

    • Run react-native link opentok-react-native
  3. Open your Android project in Android Studio.

  4. Sync Gradle

  5. Make sure the following in your app's gradle compileSdkVersion, buildToolsVersion, minSdkVersion, and targetSdkVersion are greater than or equal to versions specified in the OpenTok React Native library.

  6. As for the older Android devices, ensure you add camera and audio permissions to your AndroidManifest.xml file:

    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-feature android:name="android.hardware.camera" android:required="true" />
    <uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
    <uses-feature android:name="android.hardware.microphone" android:required="true" />

Newer versions of Android–API Level 23 (Android 6.0)–have a different permissions model that is already handled by this library.

Bintray sunset

Bintray support has ended (official announcement: https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/). In your app build.gradle file you need to remove reference to jcenter and replace it with mavenCentral. Example:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    ...
    repositories {
        google()
        mavenCentral()
    }
    ...
}

allprojects {
    repositories {
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url("$rootDir/../node_modules/react-native/android")
        }
        maven {
            // Android JSC is installed from npm
            url("$rootDir/../node_modules/jsc-android/dist")
        }
        mavenCentral {
            // We don't want to fetch react-native from Maven Central as there are
            // older versions over there.
            content {
                excludeGroup "com.facebook.react"
            }
        }
        google()
        maven { url 'https://www.jitpack.io' }
    }
}

Docs

See the docs.

Samples

To see this library in action, check out the opentok-react-native-samples repo.

Development and Contributing

Interested in contributing? We :heart: pull requests! See the Contribution guidelines.

Getting Help

We love to hear from you so if you have questions, comments or find a bug in the project, let us know! You can either:

Keywords

FAQs

Last updated on 05 Mar 2024

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc