react-native-gigascreencast-rn-lw
v1.0.2
Published
GigaScreencast React native module lightweight
Readme
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:
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.iowill 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.
- clientId: (string) a unique string which will be use as device identity in GigaScreencast system, start with
- 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
- Config object:
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.
