@config-plugins/react-native-webrtc

中文文档
15.0.2发布于 2026/08/15MITTypeScriptCommonJS零依赖近 30 天下载 237.6万

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

中文使用文档
文档目录6 节
  1. 版本
  2. 博览会安装
  3. 事件目标Shim
  4. API 密码
  5. 重要说明
  6. 手动设置

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

自动配置的配置插件 react-native-webrtc 当本地代码生成时( w)npx expo prebuild) (中文(简体) ). 上游 PR。 。 。 .

版本

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

exporeact-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 用途 [email protected] 没用的 react-native-webrtc特别是iOS生产失败。 指此软件包仅被支持于 Expo SDK + 43.

博览会安装

此软件包不能用于“ Expo Go” 应用程序, 因为 它需要自定义本地代码。 。 。 . 首先用纱线、 npm 或 npx expo install。 。 。 .

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

安装此 npm 软件包后, 添加 配置插件 页:1 plugins 您的数组 app.json 或者说 app.config.js数字 :

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

接下来,重建您的应用程序,如 "添加风俗本土代码" 向导.

事件目标Shim

只为SDK 50.

反应原生用途 event-target-shim@5 与不兼容 react-native-webrtc依赖 event-target-shim@6。要解决这个问题,可能需要在您的 metro.config.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

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 (从) 21) 它可能会在您的应用程序中打破其他软件包!

手动设置

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

版本与发布记录

@config-plugins/react-native-webrtc 共发布 22 个版本,首次发布于 2021/06/25;过去 12 个月发布了 4 个版本。

版本发布日期距今
15.0.2latest2026/08/152 个月前
15.0.12026/06/045 个月前
15.0.02026/06/035 个月前
14.0.02026/04/107 个月前
13.0.02025/09/241.1 年前
12.0.02025/06/031.4 年前

关于 @config-plugins/react-native-webrtc 的常见问题

@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 和提交记录判断。