react-native-gigascreencast-rn-lw
v1.0.2
Published
GigaScreencast React native module lightweight
Downloads
1
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.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:
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
.
- 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-ios
ATM, you can only run ios app in real devices.