# @rphk/wide-webrtc-config

> Config plugin to setup react-native-webrtc on prebuild

Latest version **5.0.0** (published 2022-12-05) · 0 weekly downloads

## Install

```sh
npm install @rphk/wide-webrtc-config
pnpm add @rphk/wide-webrtc-config
yarn add @rphk/wide-webrtc-config
bun add @rphk/wide-webrtc-config
```

## Health

**Score 40/100 (D)** — status: abandoned.

Positive: has types; no vulnerabilities; high maintenance score; high quality score.

Warnings: low downloads; no esm support.

Negative: abandoned.

## Facts

| | |
|---|---|
| Version | 5.0.0 |
| Published | 2022-12-05 |
| First published | 2022-12-05 |
| Weekly downloads | 0 |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 9.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 567 |
| Maintainers | rphk |
| Keywords | react-native, expo |

## Links

- npm: https://www.npmjs.com/package/@rphk/wide-webrtc-config
- Repository: https://github.com/expo/config-plugins
- Homepage: https://github.com/expo/config-plugins#readme
- Issues: https://github.com/expo/config-plugins/issues
- npm.io page: https://npm.io/package/@rphk/wide-webrtc-config

## Dependencies (1)

- [expo-build-properties](https://npm.io/package/expo-build-properties.md) ^0.3.0

## Recent versions

- 5.0.0 (latest) — 2022-12-05

## README

# config-plugins/react-native-webrtc

Config plugin to auto configure `react-native-webrtc` when the native code is generated (`expo prebuild`). [Upstream PR](https://github.com/react-native-webrtc/react-native-webrtc/pull/1013).

## Versioning

Ensure you use versions that work together!

| `expo` | `react-native-webrtc` | `@config-plugins/react-native-webrtc` |
| ------ | --------------------- | ------------------------------------- |
| 46.0.0 | 1.100.0               | 4.0.0                                 |
| 45.0.0 | 1.100.0               | 3.0.0                                 |
| 44.0.0 | 1.92.2                | 2.0.0                                 |
| 43.0.0 | 1.92.2                | 1.0.0                                 |

> Expo SDK 42 uses `react-native@0.63` which doesn't work with `react-native-webrtc`, specifically iOS production builds fail. Meaning this package is only supported for Expo SDK +43.

## Expo installation

> Tested against Expo SDK 46

> This package cannot be used in the "Expo Go" app because [it requires custom native code](https://docs.expo.io/workflow/customizing/).
> First install the package with yarn, npm, or [`expo install`](https://docs.expo.io/workflow/expo-cli/#expo-install).

```sh
expo install react-native-webrtc @config-plugins/react-native-webrtc
```

After installing this npm package, add the [config plugin](https://docs.expo.io/guides/config-plugins/) to the [`plugins`](https://docs.expo.io/versions/latest/config/app/#plugins) array of your `app.json` or `app.config.js`:

```json
{
  "expo": {
    "plugins": ["@config-plugins/react-native-webrtc"]
  }
}
```

Next, rebuild your app as described in the ["Adding custom native code"](https://docs.expo.io/workflow/customizing/) guide.

## API

The plugin provides props for extra customization. Every time you change the props or plugins, you'll need to rebuild (and `prebuild`) the native app. If no extra properties are added, defaults will be used.

- `cameraPermission` (_string_): Sets the iOS `NSCameraUsageDescription` permission message to the `Info.plist`. Defaults to `Allow $(PRODUCT_NAME) to access your camera`.
- `microphonePermission` (_string_): Sets the iOS `NSMicrophoneUsageDescription` permission message to the `Info.plist`. Defaults to `Allow $(PRODUCT_NAME) to access your microphone`.

`app.config.js`

```ts
export default {
  plugins: [
    [
      "@config-plugins/react-native-webrtc",
      {
        cameraPermission: "Allow $(PRODUCT_NAME) to access your camera",
        microphonePermission: "Allow $(PRODUCT_NAME) to access your microphone",
      },
    ],
  ],
};
```

## Important Notes

- For iOS, this plugin disables Bitcodes for all builds (required).
- For Android, this plugin disables desugaring in `gradle.properties`: `android.enableDexingArtifactTransform.desugaring=false` and the [minimum deployment target is changed to `24`](https://github.com/react-native-webrtc/react-native-webrtc/issues/720#issuecomment-552374206) (from `21`) which may break other packages in your app!

## Manual Setup

For bare workflow projects, you can follow the manual setup guides:

- [iOS](https://github.com/react-native-webrtc/react-native-webrtc/blob/master/Documentation/iOSInstallation.md)
- [Android](https://github.com/react-native-webrtc/react-native-webrtc/blob/master/Documentation/AndroidInstallation.md)

---
_Source: https://npm.io/package/@rphk/wide-webrtc-config · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
