Negligible Participation Metric
    Have ideas to improve npm?Join in the discussion! »

    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.

    Install

    npm i react-native-gigascreencast-rn-lw

    DownloadsWeekly Downloads

    4

    Version

    1.0.2

    License

    MIT

    Unpacked Size

    3.15 MB

    Total Files

    47

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar