# @config-plugins/react-native-webrtc 中文文档

规范地址：https://npmcn.com/package/%40config-plugins/react-native-webrtc/

版本：15\.0\.2
npm 元数据更新时间：2026-09-23T11:26:01.582Z
中文译文更新时间：2026-11-10T15:16:37.353Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40config-plugins/react-native-webrtc
原文对照：https://npmcn.com/package/%40config-plugins/react-native-webrtc/?lang=original
项目主页：https://github.com/expo/config-plugins#readme
源码仓库：https://github.com/expo/config-plugins

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：10 kB，9 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：expo \>=56
- 首次发布：2021-06-25T02:01:24.122Z
- 最新版本发布：2026-08-15T09:57:40.317Z
- 近 30 天下载量：2375715（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：22（近 12 个月 4 个）

## 中文简介

在预建时设置反应- native-webrtc 的配置插件

## 安装

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

也可以使用：`pnpm add @config-plugins/react-native-webrtc`、`yarn add @config-plugins/react-native-webrtc`、`bun add @config-plugins/react-native-webrtc`

## README

# 配置-插件/反应-本地-网络c

自动配置的配置插件 `react-native-webrtc` 当本地代码生成时( w)`npx expo prebuild`) (中文(简体) ). [上游 PR](https://github.com/react-native-webrtc/react-native-webrtc/pull/1013)。 。 。 .

## 版本

确保您使用共同工作的版本 !

| `expo` | `react-native-webrtc` | `@config-plugins/react-native-webrtc` |
| --- | --- | --- |
| 56.0.0 (单位:千美元) | 124.0.7 (中文(简体) ) | 15.0.0 (单位:千美元) |
| 55.0.0 (简体中文) | 124.0.7 (中文(简体) ) | 14.0.0 (中文(简体) ) |
| 54.0.0 (单位:千美元) | 124.0.6 (中文(简体) ) | 13.0.0 (单位:千美元) |
| 53.0.0 (韩语) | 124.0.5 (中文(简体) ) | 12.0.0 (单位:千美元) |
| 52.0.0 (简体中文) | 124.0.4 (英语) | 10.0.0 (中文(简体) ) |
| 51.0.0 (单位:千美元) | 118.0.7 (韩语) | 9.0.0 (单位:千美元) |
| 50.0.0 (中文(简体) ) | 118.0.1 国家 | 8.0.0 (单位:千美元) |
| 49.0.0 (单位:千美元) | 111.0.3 (中文(简体) ) | 7.0.0 (单位:千美元) |
| 48.0.0 (简体中文) | 106.0.6 (中文(简体) ) | 6.0.0 (单位:千美元) |
| 47.0.0 (简体中文) | 1.106.1 国家 | 5.0.0 (单位:千美元) |
| 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 用途 `react-native@0.63` 没用的 `react-native-webrtc`特别是iOS生产失败。 指此软件包仅被支持于 Expo SDK + 43.

## 博览会安装

> 此软件包不能用于“ Expo Go” 应用程序, 因为 [它需要自定义本地代码](https://docs.expo.io/workflow/customizing/)。 。 。 . 首先用纱线、 npm 或 [`npx expo install`](https://docs.expo.io/workflow/expo-cli/#expo-install)。 。 。 .

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

安装此 npm 软件包后, 添加 [配置插件](https://docs.expo.io/guides/config-plugins/) 页:1 [`plugins`](https://docs.expo.io/versions/latest/config/app/#plugins) 您的数组 `app.json` 或者说 `app.config.js`数字 :

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

接下来,重建您的应用程序,如 ["添加风俗本土代码"](https://docs.expo.io/workflow/customizing/) 向导.

### 事件目标Shim

> 只为SDK 50.

反应原生用途 `event-target-shim@5` 与不兼容 `react-native-webrtc`依赖 `event-target-shim@6`。要解决这个问题,可能需要在您的 `metro.config.js` 文件 :

```js
// metro.config.js

// Learn more https://docs.expo.io/guides/customizing-metro
const { getDefaultConfig } = require("expo/metro-config");
const resolveFrom = require("resolve-from");

/** @type {import('expo/metro-config').MetroConfig} */
const config = getDefaultConfig(__dirname);

config.resolver.resolveRequest = (context, moduleName, platform) => {
  if (
    // If the bundle is resolving "event-target-shim" from a module that is part of "react-native-webrtc".
    moduleName.startsWith("event-target-shim") &&
    context.originModulePath.includes("react-native-webrtc")
  ) {
    // Resolve event-target-shim relative to the react-native-webrtc package to use v6.
    // React Native requires v5 which is not compatible with react-native-webrtc.
    const eventTargetShimPath = resolveFrom(
      context.originModulePath,
      moduleName
    );

    return {
      filePath: eventTargetShimPath,
      type: "sourceFile",
    };
  }

  // Ensure you call the default resolver.
  return context.resolveRequest(context, moduleName, platform);
};

module.exports = config;
```

## API 密码

该插件为额外的定制提供了道具. 每次更换道具或插件,都需要重建(并 `prebuild`(原始内容存档于2018-10-10). ). 本地应用. 如果没有添加额外的属性,则使用默认值.

-   `cameraPermission` (单位:千美元)_字符串_: 设置iOS `NSCameraUsageDescription` 权限消息到 `Info.plist`默认为 `Allow $(PRODUCT_NAME) to access your camera`。 。 。 .
-   `microphonePermission` (单位:千美元)_字符串_: 设置iOS `NSMicrophoneUsageDescription` 权限消息到 `Info.plist`默认为 `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",
      },
    ],
  ],
};
```

## 重要说明

-   对于iOS,此插件禁用所有构建的比特码(需要).
-   Android , 此插件将禁用 desugaring `gradle.properties`数字 : `android.enableDexingArtifactTransform.desugaring=false` 编辑 [最低部署目标改为 `24`](https://github.com/react-native-webrtc/react-native-webrtc/issues/720#issuecomment-552374206) (从) `21`) 它可能会在您的应用程序中打破其他软件包!

## 手动设置

对于光工作流程项目,您可以遵循手动设置指南:

-   [iOS系统](https://github.com/react-native-webrtc/react-native-webrtc/blob/master/Documentation/iOSInstallation.md)
-   [机器人](https://github.com/react-native-webrtc/react-native-webrtc/blob/master/Documentation/AndroidInstallation.md)

## 常见问题

### @config-plugins/react-native-webrtc 是什么？

在预建时设置反应- native-webrtc 的配置插件

### 如何安装 @config-plugins/react-native-webrtc？

在项目目录运行 npm install @config-plugins/react-native-webrtc，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：expo（\>=56）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @config-plugins/react-native-webrtc 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @config-plugins/react-native-webrtc 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @config-plugins/react-native-webrtc 可以商用吗？

@config-plugins/react-native-webrtc 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @config-plugins/react-native-webrtc 的下载量有多少？

根据 npm 官方下载统计，@config-plugins/react-native-webrtc 在 2026/10/11 – 2026/11/09 这 30 天内被下载 2,375,715 次，日均约 79,191 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @config-plugins/react-native-webrtc 还在维护吗？

最新版本 15\.0\.2 发布于 2026/08/15（2 个月前）；至今共发布 22 个版本，其中过去 12 个月发布了 4 个；首次发布于 2021/06/25。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

