{"id":13565216,"url":"https://github.com/opentok/opentok-react-native","last_synced_at":"2025-05-16T10:06:28.648Z","repository":{"id":37728933,"uuid":"124449655","full_name":"opentok/opentok-react-native","owner":"opentok","description":"OpenTok React Native - a library for OpenTok iOS and Android SDKs","archived":false,"fork":false,"pushed_at":"2025-05-15T22:40:52.000Z","size":4774,"stargazers_count":219,"open_issues_count":41,"forks_count":159,"subscribers_count":33,"default_branch":"develop","last_synced_at":"2025-05-16T10:06:25.384Z","etag":null,"topics":["android","ios","java","javascript","opentok","opentok-labs","react-native","swift","webrtc"],"latest_commit_sha":null,"homepage":"https://tokbox.com/","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/opentok.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-03-08T21:22:48.000Z","updated_at":"2025-05-15T22:15:41.000Z","dependencies_parsed_at":"2023-10-13T13:41:22.236Z","dependency_job_id":"fa20dcaf-7e84-4e45-ab93-41b688f1a0b2","html_url":"https://github.com/opentok/opentok-react-native","commit_stats":{"total_commits":280,"total_committers":32,"mean_commits":8.75,"dds":0.5285714285714286,"last_synced_commit":"ef468799d2c9909e6a7e006674f16c3bc3218f62"},"previous_names":[],"tags_count":86,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opentok%2Fopentok-react-native","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opentok%2Fopentok-react-native/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opentok%2Fopentok-react-native/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opentok%2Fopentok-react-native/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/opentok","download_url":"https://codeload.github.com/opentok/opentok-react-native/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254509475,"owners_count":22082891,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","ios","java","javascript","opentok","opentok-labs","react-native","swift","webrtc"],"created_at":"2024-08-01T13:01:42.706Z","updated_at":"2025-05-16T10:06:28.621Z","avatar_url":"https://github.com/opentok.png","language":"Swift","readme":"# opentok-react-native\n\n\u003cimg src=\"https://assets.tokbox.com/img/vonage/Vonage_VideoAPI_black.svg\" height=\"48px\" alt=\"Tokbox is now known as Vonage\" /\u003e\n\nReact Native library for using [OpenTok](https://tokbox.com/developer/).\n\nThis library is now officially supported by Vonage.\n\nIn this repo, you'll find the OpenTok React Native library.\n\n## Prerequisites\n\n1. Install [node.js](https://nodejs.org/)\n\n2. Install and update [Xcode](https://developer.apple.com/xcode/) (you will need a Mac). (See the React Native iOS installation [instructions](https://facebook.github.io/react-native/docs/getting-started.html).)\n\n3. Install and update [Android Studio](https://developer.android.com/studio/index.html). (See the React Native Android installation [instructions](https://facebook.github.io/react-native/docs/getting-started.html).)\n\n## System requirements\n\nSee the system requirements for the [OpenTok Android SDK](https://tokbox.com/developer/sdks/android/#requirements) and [OpenTok iOS SDK](https://tokbox.com/developer/sdks/ios/#system-requirements). (The OpenTok React Native SDK has the same requirements for Android and iOS.)\n\n## Installation\n\n1. In your terminal, change into your React Native project's directory.\n\n2. Add the library using `npm` or `yarn`:\n\n  * `npm install opentok-react-native`\n  * `yarn add opentok-react-native`\n\n### iOS Installation\n\n1. Install the iOS pods:\n\n   ```\n   npx pod-install\n   ```\n\n2. **For React Native versions prior to 0.60**:\n\n   * Add this to your Podfile:\n\n     ```\n     target '\u003cYourProjectName\u003e' do\n         # Pods for \u003cYourProject\u003e\n         pod 'OTXCFramework', '2.29.1'\n     end\n     ```\n   \n   * Run `react-native link opentok-react-native`.\n\n   These steps are not necessary in React Native version 0.60 and later.\n\n3. Ensure you have enabled both camera and microphone usage by adding the following entries to the `Info.plist` file:\n\n   ```\n   \u003ckey\u003eNSCameraUsageDescription\u003c/key\u003e\n   \u003cstring\u003eYour message to user when the camera is accessed for the first time\u003c/string\u003e\n   \u003ckey\u003eNSMicrophoneUsageDescription\u003c/key\u003e\n   \u003cstring\u003eYour message to user when the microphone is accessed for the first time\u003c/string\u003e\n   ```\n\nWhen you create an archive of your app, the [privacy manifest settings required by Apple's App store](https://developer.apple.com/support/third-party-SDK-requirements) are added automatically with this version of the OpenTok React Native SDK.\n\n3. If your app will use the `OTPublisher.setVideoTransformers()` or `OTPublisher.setAudioTransformers()` method, you need to include the following in your Podfile:\n\n   ```\n   pod 'VonageClientSDKVideoTransformers'\n   ```\n\nIf you try to archive the app and it fails, please do the following:\n\n1. Go to *Target*.\n\n2. Click *Build Phases*.\n\n3. Under the *Link Binary With Libraries* section, remove `libOpenTokReactNative.a` and add it again.\n\n### Android Installation\n\n1. In your terminal, change into your project directory.\n\n2. **For React Native versions prior to 0.60**:\n\n   - Run `react-native link opentok-react-native`\n\n   This step is not necessary in React Native version 0.60 and later.\n\n3. Run `bundle install`.\n\n4. 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.\n\n5. The SDK automatically adds Android permissions it requires. You do not need to add these to your app manifest. However, certain permissions require you to prompt the user. See the [full list of required permissions](https://tokbox.com/developer/sdks/android/#permissions) in the Vonage Video API Android SDK documentation.\n\n3. If your app will use the `OTPublisher.setVideoTransformers()` or `OTPublisher.setAudioTransformers()` method, you need to include the following in your app/build.gradle file:\n\n   ```\n   implementation \"com.vonage:client-sdk-video-transformers:2.28.0\"\n   ```\n\n#### Bintray sunset\n\nBintray support has ended (official announcement: [https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/](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:\n\n```\n// Top-level build file where you can add configuration options common to all sub-projects/modules.\n\nbuildscript {\n    ...\n    repositories {\n        google()\n        mavenCentral()\n    }\n    ...\n}\n\nallprojects {\n    repositories {\n        maven {\n            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm\n            url(\"$rootDir/../node_modules/react-native/android\")\n        }\n        maven {\n            // Android JSC is installed from npm\n            url(\"$rootDir/../node_modules/jsc-android/dist\")\n        }\n        mavenCentral {\n            // We don't want to fetch react-native from Maven Central as there are\n            // older versions over there.\n            content {\n                excludeGroup \"com.facebook.react\"\n            }\n        }\n        google()\n        maven { url 'https://www.jitpack.io' }\n    }\n}\n```\n\n## Docs\n\nSee the [docs](https://tokbox.com/developer/sdks/react-native/reference).\n\n## Samples\n\nTo see this library in action, check out the [opentok-react-native-samples](https://github.com/opentok/opentok-react-native-samples) repo.\n\n## Development and Contributing\n\nInterested in contributing? We :heart: pull requests! See the\n[Contribution](CONTRIBUTING.md) guidelines.\n\n## Getting Help\n\nWe love to hear from you so if you have questions, comments or find a bug in the project, let us know! You can either:\n\n- Open an issue on this repository\n- See \u003chttps://support.tokbox.com/\u003e for support options\n- Tweet at us! We're [@VonageDev](https://twitter.com/VonageDev) on Twitter\n- Or [join the Vonage Developer Community Slack](https://developer.nexmo.com/community/slack)\n","funding_links":[],"categories":["Java"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopentok%2Fopentok-react-native","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopentok%2Fopentok-react-native","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopentok%2Fopentok-react-native/lists"}