react-native-gigascreencast-rn-lw

1.0.2 • Public • Published

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
  2. 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.

Dependencies (0)

    Dev Dependencies (2)

    Package Sidebar

    Install

    npm i react-native-gigascreencast-rn-lw

    Weekly Downloads

    1

    Version

    1.0.2

    License

    MIT

    Unpacked Size

    3.15 MB

    Total Files

    47

    Last publish

    Collaborators

    • vutrongthinhk7
    • gigasource
    • triracle