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.xml
then remove applicationandroid:allowBackup
or change its value totrue
3.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.gradle
then changeminSdkVersion
to 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. Atios
folder, runpod install
4.3. Openios/<project name>.xcworkspace
in XCode, change target deployment to10.0
4.4. SetEnable Bitcode
flag in Build Settings toNo
4.5. Enable Swift Objective-C Bridging Header.The simplest way is create new.swift
file, 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.framework
atnode_modules/react-native-gigascreencast-rn-lw/ios/
4.7. In Project Setting window > Info > AddPrivacy - Microphone Usage Description
with 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-ios
ATM, you can only run ios app in real devices.