1.0.2 • Published 3 years ago

react-native-gigascreencast-rn-lw v1.0.2

Weekly downloads
1
License
MIT
Repository
github
Last release
3 years ago

react-native-gigascreencast-rn-lw

Installation

  1. Install new react native project
    $ npx react-native init <project-name> --version 0.61.5
  2. Install react-native-gigascreencast-project
    $ npm install react-native-gigascreencast-rn-lw --save
    $ react-native link react-native-gigascreencast-rn-lw
  3. For Android application 3.1. Open android/src/main/AndroidManifest.xml then remove application android:allowBackup or change its value to true 3.2. Add permissions
     <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" />
    3.2. Open android/build.gradle then change minSdkVersion to version 21
  4. For Ios application 4.1. Open ios/Podfile, change platform ios to version 10.0 as platform :ios, '10.0' then add 2 CocoaPods libraries pod 'GoogleWebRTC', '~> 1.1' and pod 'Socket.IO-Client-Swift', '~> 15.2.0' 4.2. At ios folder, run pod install 4.3. Open ios/<project name>.xcworkspace in XCode, change target deployment to 10.0 4.4. Set Enable Bitcode flag in Build Settings to No 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 to GigaScreencast.framework at node_modules/react-native-gigascreencast-rn-lw/ios/ 4.7. In Project Setting window > Info > Add Privacy - 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

  1. stop() method Using this method to stop GigaScreencast

Run app

  1. Run Android app: react-native run-android
  2. Run iOS app: react-native run-ios ATM, you can only run ios app in real devices.