- Notifications
You must be signed in to change notification settings - Fork1
Twilio Video (WebRTC) for React Native
License
twilio/react-native-twilio-video-webrtc
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
This is a Twilio-maintained fork ofblackuy/react-native-twilio-video-webrtc. This React Native SDK allows you to add real-time video calling to your React Native apps. If you are new to Twilio Video, check out the developer documentationhere.
Platforms:
- iOS
- Android
yarn add @twilio/video-react-native-sdk
npm install @twilio/video-react-native-sdk
To use this library withExpo we recommend using our config plugin that you can configure like the following example:
{"name":"my app","plugins": [ ["@twilio/video-react-native-sdk", {"cameraPermission":"Allow $(PRODUCT_NAME) to access your camera","microphonePermission":"Allow $(PRODUCT_NAME) to access your microphone" } ] ]}Also, you will need to installexpo-build-properties package:
npx expo install expo-build-properties
The plugin support the following properties:
cameraPermission: Specifies the text to show when requesting the camera permission to the user.microphonePermission: Specifies the text to show when requesting the microphone permission to the user.
To enable camera usage and microphone usage you will need to add the following entries to yourInfo.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>You can see the API documentationhere.
We have three important components to understand:
import{TwilioVideo,TwilioVideoLocalView,TwilioVideoParticipantView,}from"@twilio/video-react-native-sdk";
TwilioVideo/ is responsible for connecting to rooms, events delivery and camera/audio.TwilioVideoLocalView/ is responsible for the local camera feedTwilioVideoParticipantView/ is responsible for a remote peer's camera feed
TheExample App provides an example how the Video React Native SDK can be used.
Before running the Example App, ensure you first install dependencies in the root SDK directory to generate the version constants:
yarn install
Please check out the Example App'sREADME for more details.
The SDK version is embedded in both iOS and Android native code for reporting to Twilio Video Insights. This is handled automatically:
- Template files:
ios/RCTTWVideoConstants.h.templateandandroid/src/main/java/com/twiliorn/library/TwilioVideoConstants.java.template - Generated files:
ios/RCTTWVideoConstants.handandroid/.../TwilioVideoConstants.java(gitignored)
Theprepare script runs automatically onyarn install and beforenpm publish, generating the constants frompackage.json version.
Important for contributors:
- Never edit the generated
.hor.javafiles directly - they will be overwritten - Edit the
.templatefiles if you need to change the structure - The version is the single source of truth from
package.json
To manually regenerate constants:
yarn build:constants
SeeLICENSE
About
Twilio Video (WebRTC) for React Native
Resources
License
Code of conduct
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Languages
- Java42.9%
- Objective-C23.9%
- JavaScript20.8%
- TypeScript10.4%
- Ruby0.8%
- Kotlin0.8%
- Swift0.4%