react-native-gigascreencast-rn-lw v1.0.2
react-native-gigascreencast-rn-lw
Installation
- Install new react native project
$ npx react-native init <project-name> --version 0.61.5 - Install react-native-gigascreencast-project
$ npm install react-native-gigascreencast-rn-lw --save $ react-native link react-native-gigascreencast-rn-lw - For Android application
3.1. Open
android/src/main/AndroidManifest.xmlthen remove applicationandroid:allowBackupor change its value totrue3.2. Add permissions
3.2. Open<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <uses-permission android:name="android.permission.BLUETOOTH" />android/build.gradlethen changeminSdkVersionto version21 - For Ios application
4.1. Open
ios/Podfile, change platform ios to version 10.0 asplatform :ios, '10.0'then add 2 CocoaPods librariespod 'GoogleWebRTC', '~> 1.1'andpod 'Socket.IO-Client-Swift', '~> 15.2.0'4.2. Atiosfolder, runpod install4.3. Openios/<project name>.xcworkspacein XCode, change target deployment to10.04.4. SetEnable Bitcodeflag in Build Settings toNo4.5. Enable Swift Objective-C Bridging Header.The simplest way is create new.swiftfile, XCode will show a prompt dialog to ask if you want to create Bridging header, click Yes. 4.6. In Project Setting window > Build Phases > Link Binary With Libraries > Add Another > Add File... then browse toGigaScreencast.frameworkatnode_modules/react-native-gigascreencast-rn-lw/ios/4.7. In Project Setting window > Info > AddPrivacy - Microphone Usage Descriptionwith custom message to ask user microphone permission. 4.8. In Project Setting window > General > Frameworks, Libraries and Embedded Content > Change Embed value of GigaScreencast.framework to Embed & Sign
Usage
In App.js
import GigaScreencastRn from 'react-native-gigascreencast-rn-lw';Now you're able to use GigaScreenCastRn object.
This object include 2 methods:
1. start(config, onAddStream, onRemoveStream, onDataChannel) method
Using this method to start GigaScreencast.
- Config object:
- clientId: (string) a unique string which will be use as device identity in GigaScreencast system, start with device_.For example: device_iphone6s_cust001
- signalingAddress: (string) optional custom signaling address. if blank https://screencast.gigasource.io will be used.
- useAudio: (boolean) optional indicate whether VoIP feature will be used or not. Default: false
- useScreencast: (boolean) optional indicate whether screencast feature will be used or not. Default: false
- useDataChannel: (boolean) optional indicate whether data channel feature will be used or not. If you want to control devices remotely (Android only), set this option to true. Default: false.
- onAddStream: (MediaStream) -> void: a function called when onAddStream event of web rtc peer connection occur.
- onRemoveStream: (MediaStream) -> void : a function called when onRemoveStream event of web rtc peer connection occur.
- onDataChannel: (DataChannel) -> void: a function called when onDataChannel event of web rtc peer occur
stop()method Using this method to stop GigaScreencast
Run app
- Run Android app:
react-native run-android - Run iOS app:
react-native run-iosATM, you can only run ios app in real devices.