# @fishjam-cloud/react-native-client 中文文档

规范地址：https://npmcn.com/package/%40fishjam-cloud/react-native-client/

版本：0\.31\.1
npm 元数据更新时间：2026-10-22T14:57:59.860Z
中文译文更新时间：2026-11-14T20:27:11.932Z
软件包许可：Apache-2\.0

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

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

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

- 包体积（解压后）：128 kB，59 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：5 个
- peer 依赖：expo \*，react \*，react-native \*，react-native-get-random-values 1\.11\.0，@fishjam-cloud/react-native-webrtc 0\.31\.1
- 首次发布：2024-09-05T12:23:09.422Z
- 最新版本发布：2026-10-22T14:57:59.449Z
- 近 30 天下载量：11501（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：61（近 12 个月 30 个）

## 中文简介

Fishjam 的本地客户端库

## 安装

```sh
npm install @fishjam-cloud/react-native-client
```

也可以使用：`pnpm add @fishjam-cloud/react-native-client`、`yarn add @fishjam-cloud/react-native-client`、`bun add @fishjam-cloud/react-native-client`

## README

# @fishjam-cloud/反应-本地客户

Fishjam的原始客户端库.

## 安装

```bash
npm install @fishjam-cloud/react-native-client
# or
yarn add @fishjam-cloud/react-native-client
```

## Android VoIP 设置

对Android的呼叫通过Firebase Cloud Massaging传送 所以Firebase就是 只有在你选择加入时才进入你的建筑 iOS使用PushKit/APN,不需要这些.

### 博览

启用配置插件中的 VoIP , 并点出您的 Expo `google-services.json`数字 :

```json
{
  "expo": {
    "android": { "googleServicesFile": "./google-services.json" },
    "plugins": [["@fishjam-cloud/react-native-client", { "android": { "enableVoIP": true } }]]
  }
}
```

其余的都是预建的. [`android.googleServicesFile`](https://docs.expo.dev/versions/latest/config/app/#googleservicesfile) 让博览会添加 `com.google.gms:google-services` 类路径,应用 Gradle 插件,并复制 文件输入 `android/app/`一边说一边 `enableVoIP` 正在运行是预建错误.

### 调用超时

插件可以设置本地超时秒 。 未回复的呼叫默认值 至 45 秒,未连接的调用默认为 60 秒 解答-实现握手默认为10秒:

```json
{
  "expo": {
    "plugins": [
      [
        "@fishjam-cloud/react-native-client",
        {
          "android": { "enableVoIP": true },
          "voip": {
            "incomingCallTimeout": 45,
            "outgoingCallTimeout": 60,
            "fulfillAnswerCallTimeout": 10
          }
        }
      ]
    ]
  }
}
```

所有超时属性都是可选的,必须是正限数. 说吧 属性以使用其本地默认值.

### 裸体反应原生

配置插件不运行,则 [`google-services` 牵引插件](https://developers.google.com/android/guides/google-services-plugin) 必须适用于 **应用程序** 模块 —— 库不能为您服务。 跟着 [Firebase Android 设置指南](https://firebase.google.com/docs/android/setup) 应添加 `google-services.json` 并应用插件.

您还必须用手表声明配置插件会注入什么 `AndroidManifest.xml` - 那个 `MANAGE_OWN_CALLS`, (中文(简体) ), `POST_NOTIFICATIONS`, (中文(简体) ), `USE_FULL_SCREEN_INTENT` 财务报告和审定财务报表 `VIBRATE` 权限 `IncomingCallActivity`, (中文(简体) ), 页:1 `EndCallNotificationReceiver`,则 `PushNotificationService` 联合国 `com.google.firebase.MESSAGING_EVENT` 意图过滤器。 见 `plugin/src/withFishjamVoIPAndroid.ts` 准确的条目.

使用赤裸反射原生时手动设定超时元数据 :

```xml
<application>
  <meta-data android:name="VoIPIncomingCallTimeout" android:value="45" />
  <meta-data android:name="VoIPOutgoingCallTimeout" android:value="60" />
  <meta-data android:name="VoIPFulfillAnswerTimeout" android:value="10" />
</application>
```

对于iOS, 添加与数字相同的超时值 `Info.plist` 键 : `VoIPIncomingCallTimeout`, (中文(简体) ), `VoIPOutgoingCallTimeout`,以及 `VoIPFulfillAnswerTimeout`。 。 。 .

## 用 WebRTC 叉进行本地开发

此软件包取决于 `@fishjam-cloud/react-native-webrtc`,叉线 `react-native-webrtc`叉子住在这里 [其自己的 GitHub 重播](https://github.com/fishjam-cloud/fishjam-react-native-webrtc) 并作为一个 git 子模块包含在这个单相中 `packages/react-native-webrtc/`被编织成线条 不需要手动链接 .

### 设置

用子模块克隆寄存器 :

```bash
git clone --recurse-submodules https://github.com/fishjam-cloud/web-client-sdk.git
```

如果您已经克隆了没有 `--recurse-submodules`,从回波内部初始化子模块:

```bash
git submodule update --init --recursive
```

然后从 repo 根安装依赖性 :

```bash
yarn install
```

雅恩决定 `@fishjam-cloud/react-native-webrtc` 到工作区 `packages/react-native-webrtc/`,而React Industrial自動連接会通过同义软件包自动取取出原生iOS和Android代码.

### 发展 工作流量

| 更改类型 | 怎么办 |
| --- | --- |
| **JS/TS 变化** 以叉为单位 | 保存 ~ 大都会热重装自动 |
| **本地代码更改** (iOS/Android) (英语) | 保存 ~ 重建应用程序( E)`yarn ios` 或者说 `yarn android`(中文(简体) ) |

没有 `pod install` 或者说 `yarn install` 在本地代码更改后需要——只需重建应用程序.

### 更新子模块

子模块跟踪叉 `master` 树枝,但被固定在一个特定的承诺。 更新最新上游:

```bash
git submodule update --remote packages/react-native-webrtc
git add packages/react-native-webrtc
git commit -m "Bump react-native-webrtc submodule"
```

检查特定标签或承诺:

```bash
git -C packages/react-native-webrtc fetch
git -C packages/react-native-webrtc checkout <tag-or-sha>
git add packages/react-native-webrtc
git commit -m "Pin react-native-webrtc to <tag-or-sha>"
```

当子模块跨越一个版本边界时, 也会更新 `peerDependencies.@fishjam-cloud/react-native-webrtc` 此软件包中 `package.json` 因此,外部消费者看到正确的范围.

### 帮助更改叉

内部变化 `packages/react-native-webrtc/` 属于叉子的,不是这个。 将他们推向上游:

```bash
cd packages/react-native-webrtc
git checkout -b your-feature-branch
# commit your changes
git push origin your-feature-branch
# open a PR against fishjam-cloud/fishjam-react-native-webrtc
```

一旦上游的PR被合并,就将子模块sha撞到这里(见上文"更新子模块").

## 常见问题

### @fishjam-cloud/react-native-client 是什么？

Fishjam 的本地客户端库

### 如何安装 @fishjam-cloud/react-native-client？

在项目目录运行 npm install @fishjam-cloud/react-native-client，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：expo（\*）、react（\*）、react-native（\*）、react-native-get-random-values（1\.11\.0）、@fishjam-cloud/react-native-webrtc（0\.31\.1）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @fishjam-cloud/react-native-client 支持 TypeScript 吗？

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

### @fishjam-cloud/react-native-client 支持 ESM 还是 CommonJS？

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

### @fishjam-cloud/react-native-client 可以商用吗？

@fishjam-cloud/react-native-client 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @fishjam-cloud/react-native-client 的下载量有多少？

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

### @fishjam-cloud/react-native-client 还在维护吗？

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

