# @capawesome/capacitor-app-update 中文文档

规范地址：https://npmcn.com/package/%40capawesome/capacitor-app-update/

版本：8\.1\.1
npm 元数据更新时间：2026-10-16T05:34:22.571Z
中文译文更新时间：2026-11-09T01:50:49.647Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40capawesome/capacitor-app-update
原文对照：https://npmcn.com/package/%40capawesome/capacitor-app-update/?lang=original
项目主页：https://capawesome.io/docs/sdks/capacitor/app-update/
源码仓库：https://github.com/capawesome-team/capacitor-plugins

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

- 包体积（解压后）：109 kB，25 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：@capacitor/core \>=8\.0\.0
- 首次发布：2022-08-04T15:41:47.996Z
- 最新版本发布：2026-10-16T05:34:22.196Z
- 近 30 天下载量：627277（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：27（近 12 个月 9 个）

## 中文简介

辅助应用更新Android和iOS的Capacitor插件.

## 安装

```sh
npm install @capawesome/capacitor-app-update
```

也可以使用：`pnpm add @capawesome/capacitor-app-update`、`yarn add @capawesome/capacitor-app-update`、`bun add @capawesome/capacitor-app-update`

## README

# CAP 更新插件

协助本地应用程序更新的 Capacitor 插件 . 它支持获取应用程序更新信息 **机器人** 财务报告和审定财务报表 **iOS系统** 并支持 [应用程序中更新](https://developer.android.com/guide/playcore/in-app-updates) 打开 **机器人**。 。 。 .

> 看看这个 [电容Live 更新](https://capawesome.io/docs/sdks/capacitor/live-update/) 在不向应用程序商店提交新版本的情况下, 远程实时更新您的应用程序的插件 。 @ @ info

[![Ship a fix in one command with Capawesome Cloud Live Updates, no store review](https://capawesome.io/assets/banners/cloud-ship-a-fix-in-one-command.png)](https://capawesome.io/)

## 特征

Capacitor App Update插件是Capacitor App最完整的本土应用更新解决方案之一. 以下是一些关键特征:

-   🖥️ **跨平台**: 支持Android和iOS.
-   📱 **App 更新信息**:检索当前和可用的应用版本.
-   ⚡ **即时应用更新**:在Android上进行即时更新.
-   📲 **灵活应用中的更新**: 支持Android上灵活的更新流.
-   📈 **更新优先级**: 支持在Android上更新优先级.
-   🏪 **App store 导航**:打开应用商店条目进行手动更新.
-   📊 **更新状态跟踪**: 监视与听众的灵活更新进度.
-   🤝 **兼容性**: 与 [实时更新](https://capawesome.io/docs/sdks/capacitor/live-update/) 插件 .
-   🔁 **最新数据**:总是支持最新的Capacitor版本.

缺少一个功能? 刚刚 [打开一个问题](https://github.com/capawesome-team/capacitor-plugins/issues) 我们看看!

## 使用大小写

App Update 插件通常用于确保用户运行您应用程序的最近版本,例如:

-   **强制更新**: 在Android上进行即时的应用更新,此时必须安装一个关键的新版本才能使用该应用.
-   **可选更新提示**:在Android上启动一个灵活的应用更新,在背景中下载,并跟踪其与状态变化收听器的进度.
-   **版本检查**:将当前应用版本与Play Store或App Store中可用的版本进行比较,以决定是否通知用户.
-   **存储重定向**:打开应用程序的"Play Store"或"App Store"条目,让用户可以手动更新应用程序,例如在iOS上无法提供应用程序内更新.

## 兼容性

| 插件版本 | 电容版本 | 状态 |
| --- | --- | --- |
| 8.x.x (英语) | \>=8.x.x | 积极支持 |
| 7.x.x (中文(简体) ) | 7.x.x (中文(简体) ) | 折旧 |
| 6.x.x (中文(简体) ) | 6.x.x (中文(简体) ) | 折旧 |
| 5.x.x (中文(简体) ) | 5.x.x (中文(简体) ) | 折旧 |

## 演示

这里有一个实例: [robingenz/电容器-插管-demo](https://github.com/robingenz/capacitor-plugin-demo)

## 安装

你可以用我们的 **AI 辅助设置** 以安装插件. 添加数据 [超级技能](https://github.com/capawesome-team/skills) 至您的 AI 工具,使用以下命令:

```bash
npx skills add capawesome-team/skills --skill capacitor-plugins
```

然后使用下列提示:

```
 Use the `capacitor-plugins` skill from `capawesome-team/skills` to install the `@capawesome/capacitor-app-update` plugin in my project.
```

如果你喜欢 **手动设置**,通过运行以下命令来安装插件,并遵循下面的平台特定指令:

```bash
npm install @capawesome/capacitor-app-update
npx cap sync
```

### Android 变量

如果需要, 您可以在您的应用程序中定义以下工程变量 `variables.gradle` 要更改依赖的默认版本的文件 :

-   `$androidPlayAppUpdateVersion` 版本 `com.google.android.play:app-update` (默认 : `2.1.0`(中文(简体) )
-   `$androidPlayServicesBaseVersion` 版本 `com.google.android.gms:play-services-base` (默认 : `18.9.0`(中文(简体) )

如果您在工程中遇到其它插件的依赖性冲突, 这会有所帮助 .

## 配置

此插件不需要配置 .

## 使用量

以下例子显示如何获取应用更新信息,打开应用商店条目,并进行即时而灵活的应用更新.

### 获取应用程序更新信息

使用 `getAppUpdateInfo()` 以获取当前和可用的应用版本。 在Android上,版本由版本代码识别;在iOS上,由版本名称识别. 仅在Android和iOS上提供:

```typescript
import { AppUpdate } from '@capawesome/capacitor-app-update';
import { Capacitor } from '@capacitor/core';

const getCurrentAppVersion = async () => {
  const result = await AppUpdate.getAppUpdateInfo();
  if (Capacitor.getPlatform() === 'android') {
    return result.currentVersionCode;
  } else {
    return result.currentVersionName;
  }
};

const getAvailableAppVersion = async () => {
  const result = await AppUpdate.getAppUpdateInfo();
  if (Capacitor.getPlatform() === 'android') {
    return result.availableVersionCode;
  } else {
    return result.availableVersionName;
  }
};
```

### 打开应用程序商店条目

在"Play Store"(Android)或"App Store"(iOS)中打开应用程序的页面,这样用户就可以手动更新应用程序. 仅在Android和iOS上提供:

```typescript
import { AppUpdate } from '@capawesome/capacitor-app-update';

const openAppStore = async () => {
  await AppUpdate.openAppStore();
};
```

### 立即进行更新

如果有更新,并允许立即更新,则立即进行应用更新。 仅在Android上可用:

```typescript
import { AppUpdate, AppUpdateAvailability } from '@capawesome/capacitor-app-update';

const performImmediateUpdate = async () => {
  const result = await AppUpdate.getAppUpdateInfo();
  if (result.updateAvailability !== AppUpdateAvailability.UPDATE_AVAILABLE) {
    return;
  }
  if (result.immediateUpdateAllowed) {
    await AppUpdate.performImmediateUpdate();
  }
};
```

### 开始灵活的更新

如果有更新可用,并允许灵活更新,则启动灵活的应用中更新。 您可以使用 `onFlexibleUpdateStateChange` 听着 仅在Android上可用:

```typescript
import { AppUpdate, AppUpdateAvailability } from '@capawesome/capacitor-app-update';

const startFlexibleUpdate = async () => {
  const result = await AppUpdate.getAppUpdateInfo();
  if (result.updateAvailability !== AppUpdateAvailability.UPDATE_AVAILABLE) {
    return;
  }
  if (result.flexibleUpdateAllowed) {
    await AppUpdate.startFlexibleUpdate();
  }
};
```

### 完成灵活更新

通过重新启动应用程序完成灵活的应用更新 。 仅在Android上可用:

```typescript
import { AppUpdate } from '@capawesome/capacitor-app-update';

const completeFlexibleUpdate = async () => {
  await AppUpdate.completeFlexibleUpdate();
};
```

## API 密码

-   [`getAppUpdateInfo(...)`](https://npmcn.com/package/%40capawesome/capacitor-app-update/#readme-getappupdateinfo)
-   [`openAppStore(...)`](https://npmcn.com/package/%40capawesome/capacitor-app-update/#readme-openappstore)
-   [`performImmediateUpdate()`](https://npmcn.com/package/%40capawesome/capacitor-app-update/#readme-performimmediateupdate)
-   [`startFlexibleUpdate()`](https://npmcn.com/package/%40capawesome/capacitor-app-update/#readme-startflexibleupdate)
-   [`completeFlexibleUpdate()`](https://npmcn.com/package/%40capawesome/capacitor-app-update/#readme-completeflexibleupdate)
-   [`addListener('onFlexibleUpdateStateChange', ...)`](https://npmcn.com/package/%40capawesome/capacitor-app-update/#readme-addlisteneronflexibleupdatestatechange-)
-   [`removeAllListeners()`](https://npmcn.com/package/%40capawesome/capacitor-app-update/#readme-removealllisteners)
-   [接口](https://npmcn.com/package/%40capawesome/capacitor-app-update/#readme-interfaces)
-   [数字](https://npmcn.com/package/%40capawesome/capacitor-app-update/#readme-enums)

### 获取更新信息(...)

```typescript
getAppUpdateInfo(options?: GetAppUpdateInfoOptions | undefined) => Promise<AppUpdateInfo>
```

返回应用更新信息 .

仅在Android和iOS上提供.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[GetAppUpdateInfoOptions](https://npmcn.com/package/%40capawesome/capacitor-app-update/#readme-getappupdateinfooptions)` |

**回返情况:** `Promise<[AppUpdateInfo](https://npmcn.com/package/%40capawesome/capacitor-app-update/#readme-appupdateinfo)>`

* * *

### 打开 AppStore (...)

```typescript
openAppStore(options?: OpenAppStoreOptions | undefined) => Promise<void>
```

在Play Store(Android)或App Store(iOS)中打开应用程序的应用商店条目.

仅在Android和iOS上提供.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[OpenAppStoreOptions](https://npmcn.com/package/%40capawesome/capacitor-app-update/#readme-openappstoreoptions)` |

**自:** 1.0.0 (单位:千美元)

* * *

### 执行即时更新( )

```typescript
performImmediateUpdate() => Promise<AppUpdateResult>
```

进行即时的应用更新 .

只能从Android上找到.

**回返情况:** `Promise<[AppUpdateResult](https://npmcn.com/package/%40capawesome/capacitor-app-update/#readme-appupdateresult)>`

* * *

### 启动灵活更新日期( )

```typescript
startFlexibleUpdate() => Promise<AppUpdateResult>
```

启动灵活的应用中更新.

只能从Android上找到.

**回返情况:** `Promise<[AppUpdateResult](https://npmcn.com/package/%40capawesome/capacitor-app-update/#readme-appupdateresult)>`

* * *

### 完整灵活更新日期( )

```typescript
completeFlexibleUpdate() => Promise<void>
```

通过重新启动应用程序完成灵活的应用更新.

如果安装失败 返回的承诺会被拒绝, 例如,因为设备在存储上较低.

只能从Android上找到.

* * *

### 添加 listener("关于灵活更新状态变化",...)

```typescript
addListener(eventName: 'onFlexibleUpdateStateChange', listenerFunc: (state: FlexibleUpdateState) => void) => Promise<PluginListenerHandle>
```

添加一个应用中的弹性更新状态更改倾听器.

只能从Android上找到.

| 参数 | 类型 |
| --- | --- |
| **`eventName`** | `'onFlexibleUpdateStateChange'` |
| **`listenerFunc`** | `(state: [FlexibleUpdateState](https://npmcn.com/package/%40capawesome/capacitor-app-update/#readme-flexibleupdatestate)) => void` |

**回返情况:** `Promise<[PluginListenerHandle](https://npmcn.com/package/%40capawesome/capacitor-app-update/#readme-pluginlistenerhandle)>`

* * *

### 删除所有收听器( )

```typescript
removeAllListeners() => Promise<void>
```

删除此插件的所有听众 .

* * *

### 接口

#### 更新信息

| Prop | 类型 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`currentVersionName`** | `string` | 应用程序的当前版本名称 。 打开 **机器人**,这是 `versionName` 从 `android/app/build.gradle` 文档。 打开 **iOS系统**,这是 `CFBundleShortVersionString` 从 `Info.plist` 文档。 仅在Android和iOS上提供. | 5.1.0 国家 |
| **`availableVersionName`** | `string` | 更新的现有版本名 。 打开 **iOS系统**,这是 `CFBundleShortVersionString` 从 `Info.plist` 文档。 仅在iOS上可用. | 5.1.0 国家 |
| **`currentVersionCode`** | `string` | 目前应用的版本代码. 打开 **机器人**,这是 `versionCode` 从 `android/app/build.gradle` 文档。 打开 **iOS系统**,这是 `CFBundleVersion` 从 `Info.plist` 文档。 仅在Android和iOS上提供. | 5.1.0 国家 |
| **`availableVersionCode`** | `string` | 更新版本的可用版本代码. 打开 **机器人**,这是 `versionCode` 从 `android/app/build.gradle` 文档。 只能从Android上找到. | 5.1.0 国家 |
| **`availableVersionReleaseDate`** | `string` | 以ISO 8601(UTC)格式发布更新日期. 仅在iOS上可用. |  |
| **`updateAvailability`** | `[AppUpdateAvailability](https://npmcn.com/package/%40capawesome/capacitor-app-update/#readme-appupdateavailability)` | 应用更新可用. 仅在Android和iOS上提供. |  |
| **`updatePriority`** | `number` | 应用中更新此更新的优先级,由开发者在Google Play开发者API中定义. 只能从Android上找到. |  |
| **`immediateUpdateAllowed`** | `boolean` | `true` 如果允许立即更新,否则 `false`. 只有Android可以访问. |  |
| **`flexibleUpdateAllowed`** | `boolean` | `true` 如果允许灵活更新,否则 `false`. 只有Android可以访问. |  |
| **`clientVersionStalenessDays`** | `number` | 用户设备上的Google Play Store应用得知了是否有更新或正在更新, 只能从Android上找到. |  |
| **`installStatus`** | `[FlexibleUpdateInstallStatus](https://npmcn.com/package/%40capawesome/capacitor-app-update/#readme-flexibleupdateinstallstatus)` | 灵活的应用中更新安装状态 。 只能从Android上找到. |  |
| **`minimumOsVersion`** | `string` | 应用程序运行于iOS所需的最小操作系统版本. 仅在iOS上可用. |  |

#### 获取更新信息选项

| Prop | 类型 | 说明 |
| --- | --- | --- |
| **`country`** | `string` | 您想要搜索的商店的双字母国家代码 。 见 [http://en.wikipedia.org/wiki/ISO 3166-1 alpha-2 (英语)](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) 用于列出ISO国家代码。 仅在iOS上可用. |

#### OpenAppStore 选项

| Prop | 类型 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`androidPackageName`** | `string` | 在 Play Store 中打开的软件包名 。 打开 **机器人**,这是您的应用程序的应用程序ID(例如. `com.example.app`) (中文(简体) ). 您可以在 `android/app/build.gradle` 文档。 如果没有提供,则会使用当前app的软件包名. 只能从Android上找到. | 7.2.0 联合国 |
| **`androidStorePackageName`** | `string` | 商店应用程序的软件包名称应该打开应用程序商店条目(例如. `com.android.vending` 用于谷歌游戏商店). 如果未提供,则系统默认处理器用于 `market://` 链接将被使用。 只能从Android上找到. | 8.1.0 联合国 |
| **`appId`** | `string` | 在 App Store 打开的应用程序的应用ID 。 打开 **iOS系统**,这是您的应用程序的苹果标识(例如. `123456789`) (中文(简体) ). 您可以在您的应用商店条目的URL中找到ID( 如. `https://apps.apple.com/app/id123456789`) (中文(简体) ). **请注意**: iOS上需要这个选项. 仅在iOS上可用. | 6.1.0 (中文(简体) ) |

#### 更新结果

| Prop | 类型 |
| --- | --- |
| **`code`** | `[AppUpdateResultCode](https://npmcn.com/package/%40capawesome/capacitor-app-update/#readme-appupdateresultcode)` |

#### 插件听筒

| Prop | 类型 |
| --- | --- |
| **`remove`** | `() => Promise<void>` |

#### 灵活更新状态

| Prop | 类型 | 说明 |
| --- | --- | --- |
| **`installStatus`** | `[FlexibleUpdateInstallStatus](https://npmcn.com/package/%40capawesome/capacitor-app-update/#readme-flexibleupdateinstallstatus)` | 灵活的应用中更新安装状态 . |
| **`bytesDownloaded`** | `number` | 返回迄今为止下载的字节数 . `undefined` 如果安装状态不是 `DOWNLOADING`。 。 。 . |
| **`totalBytesToDownload`** | `number` | 返回此更新要下载的字节总数 . `undefined` 如果安装状态不是 `DOWNLOADING`。 。 。 . |

### 数字

#### 更新可用性

| 成员 | 数值 |
| --- | --- |
| **`UNKNOWN`** | `0` |
| **`UPDATE_NOT_AVAILABLE`** | `1` |
| **`UPDATE_AVAILABLE`** | `2` |
| **`UPDATE_IN_PROGRESS`** | `3` |

#### 灵活更新安装状态

| 成员 | 数值 |
| --- | --- |
| **`UNKNOWN`** | `0` |
| **`PENDING`** | `1` |
| **`DOWNLOADING`** | `2` |
| **`INSTALLING`** | `3` |
| **`INSTALLED`** | `4` |
| **`FAILED`** | `5` |
| **`CANCELED`** | `6` |
| **`DOWNLOADED`** | `11` |

#### 更新结果代码

| 成员 | 数值 | 说明 |
| --- | --- | --- |
| **`OK`** | `0` | 用户已接受更新. |
| **`CANCELED`** | `1` | 用户已否认或取消更新 . |
| **`FAILED`** | `2` | 其他一些错误使用户无法表示同意或进行更新. |
| **`NOT_AVAILABLE`** | `3` | 没有更新. |
| **`NOT_ALLOWED`** | `4` | 不允许更新类型 . |
| **`INFO_MISSING`** | `5` | App更新信息缺失. 你必须打电话 `getAppUpdateInfo()` 在请求更新之前. |

## 内部应用共享测试

Android 开发者的文档描述如何测试 [应用程序中更新](https://developer.android.com/guide/playcore/in-app-updates) 使用 [内部应用程序共享](https://developer.android.com/guide/playcore/in-app-updates/test)。 。 。 .

## 财务问题

### 此插件与 Live 更新插件有何不同 ?

App Update插件协助通过 Play Store 或 App Store 分发的本地应用更新,例如通过检索更新信息或执行Android的应用更新. 这个 [电容Live 更新](https://capawesome.io/docs/sdks/capacitor/live-update/) 另一方面,插件在不向应用程序商店提交新版本的情况下,将您的应用程序远程实时更新.

### IOS上是否有应用程序更新?

不,内应用更新是Google Play Store的一个功能,因此只在Android上提供. 在iOS上,您可以使用 `getAppUpdateInfo(...)` 以检查是否有更新,然后调用 `openAppStore(...)` 打开应用程序的 App Store 条目,以便用户手动更新.

### 立即更新与灵活更新有何区别?

立即进行更新,步骤如下: `performImmediateUpdate()`。以 `startFlexibleUpdate()`中,可以对下载进度进行监测 `onFlexibleUpdateStateChange` 收听者,通过呼叫完成 `completeFlexibleUpdate()`,它重新启动了应用程序。 两种更新类型仅在Android上提供.

### INFO MISSING结果代码更新为何失败??

这个 `INFO_MISSING` 结果代码表示应用程序更新信息缺失. 你必须打电话 `getAppUpdateInfo(...)` 在请求更新之前 `performImmediateUpdate()` 或者说 `startFlexibleUpdate()`。 。 。 .

### 我怎么测试Android的应用更新?

Android开发者文档描述了如何使用内部应用共享来测试应用中的更新. 见 [内部应用共享测试](https://npmcn.com/package/%40capawesome/capacitor-app-update/#readme-test-with-internal-app-sharing) 节,用于相关链接.

### 我能用这个插件吗? 有Ionic、React、Vue或Angular?

是的,插件是框架不可知的。 它在任意网络框架的Capacitor app中工作,包括有Angular,React,或Vue的Ionic,以及平版JavaScript等项目.

## 相关插件

-   [应用程序审查](https://capawesome.io/docs/sdks/capacitor/app-review/):让用户提交应用商店评论和评分.
-   [谷歌游戏服务](https://capawesome.io/docs/sdks/capacitor/google-play-services/):检查设备上是否有Google Play服务,并提示用户安装或更新.
-   [实时更新](https://capawesome.io/docs/sdks/capacitor/live-update/): 实时更新你的应用程序,而不要求用户从应用程序商店下载新版本.

## 通讯

随时更新有关卡帕韦索姆、Capacitor和Ionic生态系统的最新消息和最新消息,因为我们 [《卡帕索克通讯》](https://cloud.capawesome.io/newsletter/)。 。 。 .

## 更改日志

见 [变动情况](https://github.com/capawesome-team/capacitor-plugins/blob/main/packages/app-update/CHANGELOG.md)。 。 。 .

## 许可证

见 [自由主义](https://github.com/capawesome-team/capacitor-plugins/blob/main/packages/app-update/LICENSE)。 。 。 .

## 贷项

此插件基于 [CAP 更新](https://github.com/capawesome-team/capacitor-app-update) 插件 . 感谢所有为这个项目捐款的人!

## 常见问题

### @capawesome/capacitor-app-update 是什么？

辅助应用更新Android和iOS的Capacitor插件\.

### 如何安装 @capawesome/capacitor-app-update？

在项目目录运行 npm install @capawesome/capacitor-app-update，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@capacitor/core（\>=8\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @capawesome/capacitor-app-update 支持 TypeScript 吗？

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

### @capawesome/capacitor-app-update 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @capawesome/capacitor-app-update 可以商用吗？

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

### @capawesome/capacitor-app-update 的下载量有多少？

根据 npm 官方下载统计，@capawesome/capacitor-app-update 在 2026/10/09 – 2026/11/07 这 30 天内被下载 627,277 次，日均约 20,909 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @capawesome/capacitor-app-update 还在维护吗？

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

