Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
Calinteodor b890aa33c3
feat(react-native-sdk/android): force permissions approval in order to launch RNOngoingNotification (#15400)
8 mēnešus atpakaļ
..
android feat(react-native-sdk/android): force permissions approval in order to launch RNOngoingNotification (#15400) 8 mēnešus atpakaļ
.npmignore feat(rnsdk) add npm ignore file 2 gadus atpakaļ
.npmrc sdk(react-native-sdk): moved some dependencies to peer dependencies (#13498) 2 gadus atpakaļ
README.md feat(android) bump minimum required version to 26 aka Oreo 8 mēnešus atpakaļ
index.tsx feat(react-native-sdk): added setAudioOnly to the ref props 1 gadu atpakaļ
jitsi-meet-rnsdk.podspec feat(react-native-sdk): update podspec file 1 gadu atpakaļ
package.json feat(react-native-sdk/android): force permissions approval in order to launch RNOngoingNotification (#15400) 8 mēnešus atpakaļ
prepare_sdk.js fix(rn) improve rnsdk version script 1 gadu atpakaļ
sdk_instructions.js sdk(react-native-sdk): added script that updates app dependencies (#13516) 2 gadus atpakaļ
update_dependencies.js feat(react-native-sdk): add ENDPOINT_MESSAGE_RECEIVED to rnsdk events (#14889) 1 gadu atpakaļ
update_sdk_dependencies.js fix(rnsdk) specify the RN version we support 10 mēnešus atpakaļ

README.md

Jitsi Meet React Native SDK

Installation

Inside your project, run;

npm i @jitsi/react-native-sdk

If there are conflicts, you can use --force
Additionally, if not already installed, some dependencies will need to be added.

This can be done by running the following script:

node node_modules/@jitsi/react-native-sdk/update_dependencies.js

This will check and update all your dependencies.

After that you need to npm i, if some dependency versions were updated.

Because of SVG use in react native, you need to update metro.config your project’s file:

const { getDefaultConfig } = require('metro-config');

module.exports = (async () => {
  const {
    resolver: {
      sourceExts,
      assetExts
    }
  } = await getDefaultConfig();

  return {
    transformer: {
      babelTransformerPath: require.resolve('react-native-svg-transformer'),
      getTransformOptions: async () => ({
        transform: {
          experimentalImportSupport: false,
          inlineRequires: true,
        },
      }),
    },
    resolver: {
      assetExts: assetExts.filter(ext => ext !== 'svg'),
      sourceExts: [...sourceExts, 'svg']
    }
  }
})();

iOS

Project Info.plist

  • Add a Privacy - Camera Usage Description
  • Add a Privacy - Microphone Usage Description

General

  • Signing & capabilites:
    • Add Background modes
      • Audio
      • Voice over IP
      • Background fetch

Run;

cd ios && pod install && cd ..

Android

  • In your build.gradle have at least minSdkVersion = 26
  • In android/app/src/debug/AndroidManifest.xml and android/app/src/main/AndroidManifest.xml, under the </application> tag, include

    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.CAMERA" />
    

    Services

    Screen share

  • Go to your MainApplication.java file and add:

    1. import com.oney.WebRTCModule.WebRTCModuleOptions; that comes from react-native-webrtc dependency.

    2. WebRTCModuleOptions options = WebRTCModuleOptions.getInstance(); instance it.

    3. options.enableMediaProjectionService = true; enable foreground service that takes care of screen-sharing feature.

  • Go to your android/app/src/main/AndroidManifest.xml, under the </application> tag and include

    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION" />
    

If you want to test all the steps before applying them to your app, you can check our React Native SDK sample app here: https://github.com/jitsi/jitsi-meet-sdk-samples/tree/master/react-native

Using JWT tokens

  • If you are planning to use tokens or another domain, you can do that by updating the following props, as shown below.
  • For example: javascript <JitsiMeeting room = { 'ThisIsNotATestRoomName' } serverURL = { 'https://meet.jit.si/' } token={ 'dkhalhfajhflahlfaahalhfahfsl' } />

Using custom overflow menu buttons

  • If you are planning to add custom overflow menu buttons, you can do that by updating the config prop, as shown below.
  • For example: javascript <JitsiMeeting config = {{ customToolbarButtons: [ { icon: "https://w7.pngwing.com/pngs/987/537/png-transparent-download-downloading-save-basic-user-interface-icon-thumbnail.png", id: "btn1", text: "Button one" }, { icon: "https://w7.pngwing.com/pngs/987/537/png-transparent-download-downloading-save-basic-user-interface-icon-thumbnail.png", id: "btn2", text: "Button two" } ] }} room = { 'ThisIsNotATestRoomName' } serverURL = { 'https://meet.jit.si/' } token = { 'dkhalhfajhflahlfaahalhfahfsl' } />

For more details on how you can use React Native SDK with React Native app, you can follow this link: https://jitsi.github.io/handbook/docs/dev-guide/dev-guide-react-native-sdk