# @capgo/capacitor-webview-version-checker 中文文档

规范地址：https://npmcn.com/package/%40capgo/capacitor-webview-version-checker/

版本：8\.2\.19
npm 元数据更新时间：2026-10-15T05:03:26.145Z
中文译文更新时间：2026-11-09T04:11:15.880Z
软件包许可：MPL-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40capgo/capacitor-webview-version-checker
原文对照：https://npmcn.com/package/%40capgo/capacitor-webview-version-checker/?lang=original
项目主页：https://capgo.app/docs/plugins/webview-version-checker/
源码仓库：https://github.com/Cap-go/capacitor-webview-version-checker

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

- 包体积（解压后）：282 kB，33 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：@capacitor/core \>=8\.0\.0
- 首次发布：2026-02-19T15:24:05.773Z
- 最新版本发布：2026-10-15T05:03:25.841Z
- 近 30 天下载量：39800（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：22（近 12 个月 22 个）

## 中文简介

用于检查已过时的Android WebView引擎,排放状态事件,并呈现本地更新提示的 Capacitor 插件.

## 安装

```sh
npm install @capgo/capacitor-webview-version-checker
```

也可以使用：`pnpm add @capgo/capacitor-webview-version-checker`、`yarn add @capgo/capacitor-webview-version-checker`、`bun add @capgo/capacitor-webview-version-checker`

## README

# @capgo/capor-webview-version-检查器

在您的 Capacitor app 中检测出已过时的 WebView 引擎并促使用户更新, 在旧的 Android System WebView 版本打破您的UI 之前.

[![Capgo - Build Capacitor apps with AI, ship updates instantly](https://capgo.app/readme-banner.svg?repo=Cap-go/capacitor-webview-version-checker)](https://capgo.app/?ref=plugin_webview_version_checker)

**队长**:在几分钟内将修正推给您的 Capacitor 用户,在没有Mac的情况下构建已签名的iOS和Android apps,并在一击中回滚.

## [\*免费开始\*](https://capgo.app/register/?ref=plugin_webview_version_checker)

14天无限自由审判. 不需要信用卡

> 🤖 **建筑与AI编码代理?** 安装 [Capgo 技能](https://capgo.app/skills/?ref=plugin_webview_version_checker) 所以克劳德代码,代码,光标,副驾驶,或双子座CLI知道如何安装和使用 `@capgo/capacitor-webview-version-checker` 在您的电容应用程序中: `npx skills add Cap-go/capgo-skills`。然后问你的经纪人: _添加@capgo/capor-webview-version-检查器到我的Capacitor应用上并把它接上_ [代理设置指南](https://capgo.app/agents/?ref=plugin_webview_version_checker) • 妇女 [主机磁共振](https://capgo.app/docs/ai/mcp/?ref=plugin_webview_version_checker)

![@capgo/capacitor-webview-version-checker for Capacitor apps](https://raw.githubusercontent.com/Cap-go/capacitor-webview-version-checker/main/assets/github-social-preview.png)

## 主要特点

-   **检查**数字 : `check()` 返回WebView是否更新、过时或未知.
-   **监测**数字 : `startMonitoring()` 与 `statusChanged`, (中文(简体) ), `webViewLatest` 财务报告和审定财务报表 `webViewOutdated` 事件.
-   **更新提示**数字 : `showUpdatePrompt()` 显示本地提示, `openUpdatePage()` 打开正确的更新页面.
-   **政策**: 最小版本规则,带有 `latestVersion` 为明确的目标.
-   **最后状态**数字 : `getLastStatus()` 返回最新结果.
-   **平台**:iOS,Android和Web. 为Android系统WebView所建. 在iOS上,WebView遵循了OS版本和Apple更新帮助的即时链接.

## 安装

您可以使用我们的 AI 辅助设置安装插件 。 使用以下命令将 Capgo 技能添加到您的 AI 工具 :

```bash
npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins
```

然后使用下列提示:

```text
Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-webview-version-checker` plugin in my project.
```

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

```bash
bun add @capgo/capacitor-webview-version-checker
bunx cap sync
```

## 使用量

主用例:默认情况下浏览器列表-风格相容性检查.

插件在框外使用此策略, 即使您没有添加任何插件选项 :

-   `minimumDeviceSharePercent` 默认为 `3`
-   版本共享数据来自构建时间生成的由 caniuse 生成的内置数据集
-   默认流量不需要运行时间版本共享 URL 调用

默认设置( 没有插件设置) :

```ts
import type { CapacitorConfig } from '@capacitor/cli';

const config: CapacitorConfig = {
  plugins: {
    WebviewVersionChecker: {},
  },
};

export default config;
```

简单配置( O)

```ts
import type { CapacitorConfig } from '@capacitor/cli';

const config: CapacitorConfig = {
  plugins: {
    WebviewVersionChecker: {
      autoPromptOnOutdated: true,
      autoPromptDismissible: false,
    },
  },
};

export default config;
```

有自定义阈值和自定义数据集的高级模式 :

```ts
import type { CapacitorConfig } from '@capacitor/cli';

const config: CapacitorConfig = {
  plugins: {
    WebviewVersionChecker: {
      autoCheckOnLoad: true,
      autoPromptOnOutdated: true,
      minimumDeviceSharePercent: 3,
      versionShareByMajor: {
        '137': 58.2,
        '136': 21.3,
        '135': 4.6,
        '134': 2.1,
      },
    },
  },
};

export default config;
```

这是什么意思:

-   `minimumDeviceSharePercent: 3` 意思是"只有在主要版本仍然代表我数据集中至少3%的设备时,才考虑一个版本相容".
-   `versionShareByMajor` 是您自己的数据集地图,其中:
    -   键=主要版本(例如: `137`(中文(简体) )
    -   数值=份额(百分比)`0..100`(中文(简体) )
-   若您不提供 `versionShareByMajor`,插件使用其内置生成的数据集.

您可以以两种方式提供共享数据:

-   与 `versionShareByMajor` (如上所示)
-   远程 `versionShareApiUrl` 返回其中一个形状:
    -   `{ "versionShareByMajor": { "137": 54.2, "136": 23.8 } }`
    -   `{ "shareByMajor": { "137": 54.2, "136": 23.8 } }`
    -   `{ "versions": [{ "major": 137, "share": 54.2 }, { "version": "136.0.0.0", "percent": 23.8 }] }`

如果你准备好了 `versionShareApiUrl`,插件在运行时获取该 URL,并将其用作覆盖.

评价命令:

1.  浏览器列表风格的阈值模式( E)`minimumDeviceSharePercent` +共享数据集)首先被使用. 默认这是 `3%` 与内置生成的数据集.
2.  替换插件比较 `latestVersion` 编号 : `latestVersionApiUrl`。 。 。 .
3.  否则它会回到 `minimumMajorVersion`。 。 。 .

高级使用 JavaScript( 手动检查、 收听器、 自定义提示) :

```ts
import { WebviewVersionChecker } from '@capgo/capacitor-webview-version-checker';

const listener = await WebviewVersionChecker.addListener('webViewOutdated', (status) => {
  console.log('Outdated WebView detected', status);
});

const status = await WebviewVersionChecker.check({
  latestVersionApiUrl:
    'https://versionhistory.googleapis.com/v1/chrome/platforms/android/channels/stable/versions?page_size=1',
  minimumMajorVersion: 124,
  showPromptOnOutdated: true,
  autoPromptDismissible: false,
  promptTitle: 'Update WebView',
  promptMessage: 'Your WebView is outdated. Please update to continue safely.',
  promptUpdateButtonText: 'Update now',
  promptCancelButtonText: 'Later',
});

console.log('WebView status', status);

// later
listener.remove();
```

## 为什么WebView版本检查器?

控制器已经通过配置提供了内置的 WebView 最小检查 :

```ts
import type { CapacitorConfig } from '@capacitor/cli';

const config: CapacitorConfig = {
  android: {
    minWebViewVersion: 124,
  },
  server: {
    errorPath: 'unsupported-webview.html',
  },
};

export default config;
```

### 我们为什么要这么做

-   `android.minWebViewVersion` 是静态配置; 它不给出运行时插件事件, 如 `webViewOutdated`。 。 。 .
-   与 `server.errorPath`,用户会被重定向到静态错误页面(硬块 UX),而不是在正常的应用程序流中看到本地模式.
-   无 `server.errorPath`,Capacitor只记录了这个问题,但不提供本地更新的即时+存储深链接UX.
-   这个插件给出了软执行:用户仍然可以打开/使用该应用程序,获得本地更新模式,你决定是否稍后需要更新.
-   主用例:此插件将浏览器list-style兼容逻辑带入Android WebView(例如"至少3%的设备仍然使用支持版本"),同时保持了您的应用程序的可用性.

## Android 提供者处理

插件解决了活动 WebView 提供者软件包和版本,然后将路由更新到正确的软件包的链接:

-   Android 5-6和10+: Android System WebView (英语:`com.google.android.webview`(中文(简体) )
-   Android 7-9: Google Chrome (英语:`com.android.chrome`(中文(简体) )

当提供者无法检测时,倒回路由遵循上面相同的API-范围规则.

## API 密码

-   [`check(...)`](https://npmcn.com/package/%40capgo/capacitor-webview-version-checker/#readme-check)
-   [`startMonitoring(...)`](https://npmcn.com/package/%40capgo/capacitor-webview-version-checker/#readme-startmonitoring)
-   [`stopMonitoring()`](https://npmcn.com/package/%40capgo/capacitor-webview-version-checker/#readme-stopmonitoring)
-   [`getLastStatus()`](https://npmcn.com/package/%40capgo/capacitor-webview-version-checker/#readme-getlaststatus)
-   [`showUpdatePrompt(...)`](https://npmcn.com/package/%40capgo/capacitor-webview-version-checker/#readme-showupdateprompt)
-   [`openUpdatePage(...)`](https://npmcn.com/package/%40capgo/capacitor-webview-version-checker/#readme-openupdatepage)
-   [`addListener('statusChanged', ...)`](https://npmcn.com/package/%40capgo/capacitor-webview-version-checker/#readme-addlistenerstatuschanged-)
-   [`addListener('webViewLatest', ...)`](https://npmcn.com/package/%40capgo/capacitor-webview-version-checker/#readme-addlistenerwebviewlatest-)
-   [`addListener('webViewOutdated', ...)`](https://npmcn.com/package/%40capgo/capacitor-webview-version-checker/#readme-addlistenerwebviewoutdated-)
-   [接口](https://npmcn.com/package/%40capgo/capacitor-webview-version-checker/#readme-interfaces)
-   [类型异名](https://npmcn.com/package/%40capgo/capacitor-webview-version-checker/#readme-type-aliases)

公共API用于检查WebView新鲜度并指导用户更新.

### 检查(...)

```typescript
check(options?: CheckWebViewOptions | undefined) => Promise<WebViewVersionStatus>
```

运行版本检查并返回最新已知状态.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[CheckWebViewOptions](https://npmcn.com/package/%40capgo/capacitor-webview-version-checker/#readme-checkwebviewoptions)` |

**回返情况:** `Promise<[WebViewVersionStatus](https://npmcn.com/package/%40capgo/capacitor-webview-version-checker/#readme-webviewversionstatus)>`

* * *

### 启动监测(...)

```typescript
startMonitoring(options?: StartMonitoringOptions | undefined) => Promise<MonitoringStateResult>
```

启用背景监测( 通常在应用程序恢复上) .

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[StartMonitoringOptions](https://npmcn.com/package/%40capgo/capacitor-webview-version-checker/#readme-startmonitoringoptions)` |

**回返情况:** `Promise<[MonitoringStateResult](https://npmcn.com/package/%40capgo/capacitor-webview-version-checker/#readme-monitoringstateresult)>`

* * *

### 停止监视 ()

```typescript
stopMonitoring() => Promise<MonitoringStateResult>
```

禁用监控 .

**回返情况:** `Promise<[MonitoringStateResult](https://npmcn.com/package/%40capgo/capacitor-webview-version-checker/#readme-monitoringstateresult)>`

* * *

### 获取最后状态( C)

```typescript
getLastStatus() => Promise<LastStatusResult>
```

返回最后解决状态,或 `null` 如果还没有检查.

**回返情况:** `Promise<[LastStatusResult](https://npmcn.com/package/%40capgo/capacitor-webview-version-checker/#readme-laststatusresult)>`

* * *

### 显示 Update Prompt (...)

```typescript
showUpdatePrompt(options?: ShowUpdatePromptOptions | undefined) => Promise<ShowUpdatePromptResult>
```

显示本地提示请用户更新 WebView .

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[ShowUpdatePromptOptions](https://npmcn.com/package/%40capgo/capacitor-webview-version-checker/#readme-showupdatepromptoptions)` |

**回返情况:** `Promise<[ShowUpdatePromptResult](https://npmcn.com/package/%40capgo/capacitor-webview-version-checker/#readme-showupdatepromptresult)>`

* * *

### 打开更新页(...)

```typescript
openUpdatePage(options?: OpenUpdatePageOptions | undefined) => Promise<OpenUpdatePageResult>
```

直接打开已配置的更新页面.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[OpenUpdatePageOptions](https://npmcn.com/package/%40capgo/capacitor-webview-version-checker/#readme-openupdatepageoptions)` |

**回返情况:** `Promise<[OpenUpdatePageResult](https://npmcn.com/package/%40capgo/capacitor-webview-version-checker/#readme-openupdatepageresult)>`

* * *

### 添加倾听器( “ 状态已改变 ” ,...)

```typescript
addListener(eventName: 'statusChanged', listenerFunc: (status: WebViewVersionStatus) => void) => Promise<PluginListenerHandle>
```

为每一次成功的状态评价被开除.

| 参数 | 类型 |
| --- | --- |
| **`eventName`** | `'statusChanged'` |
| **`listenerFunc`** | `(status: [WebViewVersionStatus](https://npmcn.com/package/%40capgo/capacitor-webview-version-checker/#readme-webviewversionstatus)) => void` |

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

* * *

### 添加倾听器 ('web ViewLatest',...)

```typescript
addListener(eventName: 'webViewLatest', listenerFunc: (status: WebViewVersionStatus) => void) => Promise<PluginListenerHandle>
```

当州政府决定 `latest`。 。 。 .

| 参数 | 类型 |
| --- | --- |
| **`eventName`** | `'webViewLatest'` |
| **`listenerFunc`** | `(status: [WebViewVersionStatus](https://npmcn.com/package/%40capgo/capacitor-webview-version-checker/#readme-webviewversionstatus)) => void` |

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

* * *

### 添加倾听器 ('webView Outdated',...)

```typescript
addListener(eventName: 'webViewOutdated', listenerFunc: (status: WebViewVersionStatus) => void) => Promise<PluginListenerHandle>
```

当州政府决定 `outdated`。 。 。 .

| 参数 | 类型 |
| --- | --- |
| **`eventName`** | `'webViewOutdated'` |
| **`listenerFunc`** | `(status: [WebViewVersionStatus](https://npmcn.com/package/%40capgo/capacitor-webview-version-checker/#readme-webviewversionstatus)) => void` |

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

* * *

### 接口

#### WebViewVersion 状态

当前检测到的 WebView 状态的快照 .

| Prop | 类型 | 说明 |
| --- | --- | --- |
| **`platform`** | `[WebViewPlatform](https://npmcn.com/package/%40capgo/capacitor-webview-version-checker/#readme-webviewplatform)` | 生成状态的原生平台. |
| **`state`** | `[WebViewVersionState](https://npmcn.com/package/%40capgo/capacitor-webview-version-checker/#readme-webviewversionstate)` | 已解析版本状态 . |
| **`isLatest`** | `boolean` | 方便布尔等值于 `state === 'latest'`。 。 。 . |
| **`checkedAt`** | `string` | ISO-8601 检查的印章. |
| **`reason`** | `string` | 人可读解所报状态. |
| **`currentVersion`** | `string` | 当前WebView(或iOS系统WebKit)版本字符串. |
| **`currentMajorVersion`** | `number` | 当前检测到的主要版本( 如果可解析) . |
| **`latestVersion`** | `string` | 已解析用于比较的最新版本 . |
| **`latestMajorVersion`** | `number` | 已解析出最新主要版本( 若可解析) . |
| **`currentVersionSharePercent`** | `number` | 已安装的 WebView 主版本的设备共享百分比 。 仅在有版本共享数据集并包括当前主要版本时才会出现. |
| **`minimumDeviceSharePercent`** | `number` | 兼容阈值模式使用的配置阈值 。 仅在 `minimumDeviceSharePercent` 要求进行这一检查. |
| **`versionShareSource`** | `string` | 用于版本共享数据的出处. 数值: - `versionShareByMajor` (内置数据集) - `versionShareApiUrl` (远程数据集) - `generatedVersionShareByMajor` (构建时生成的内置数据集) |
| **`deviceShareError`** | `string` | 兼容阈值模式的诊断信息 。 现时 `minimumDeviceSharePercent` 但无法对阈值检查进行全面评估. |
| **`providerPackage`** | `string` | 活动WebView提供者的Android包名. |
| **`updateUrl`** | `string` | 过期时应当打开更新的 URL . |
| **`source`** | `string` | 检查执行的内部源标识符. |

#### 检查Web View 选项

运行 WebView 版本检查的选项 .

| Prop | 类型 | 说明 | 默认 |
| --- | --- | --- | --- |
| **`showPromptOnOutdated`** | `boolean` | 强制显示已检测到已过期的 WebView 本地提示 . | `false` |
| **`source`** | `string` | 状态有效载荷中包含的可选标记,以便识别检查来源. | `"manual"` |

#### 监测 国家成果

产生监测控制的有效载荷.

| Prop | 类型 | 说明 |
| --- | --- | --- |
| **`monitoring`** | `boolean` | 监测是否正在进行中 . |
| **`checkOnResume`** | `boolean` | 监视时是否运行对应用程序恢复的检查 . |
| **`autoPromptOnOutdated`** | `boolean` | 是否过时的检查自动触发本地提示 . |

#### 开始监视选项

启动监视器模式的选项 .

| Prop | 类型 | 说明 | 默认 |
| --- | --- | --- | --- |
| **`checkOnStart`** | `boolean` | 监控开始后立即检查. | `true` |
| **`checkOnResume`** | `boolean` | 是否在启用监视时进行前景检查 . | `true` |

#### 最后状态

最后已知的检查快照 .

| Prop | 类型 | 说明 |
| --- | --- | --- |
| **`status`** | `[WebViewVersionStatus](https://npmcn.com/package/%40capgo/capacitor-webview-version-checker/#readme-webviewversionstatus) | null` | 在第一次检查完成前不要做. |

#### 显示最新结果

结果有效载荷 `showUpdatePrompt()`。 。 。 .

| Prop | 类型 | 说明 |
| --- | --- | --- |
| **`shown`** | `boolean` | 是否实际显示本地提示 . |
| **`openedUpdatePage`** | `boolean` | 更新页面是否从即时动作打开 . |

#### 显示最新选项

显示本地更新提示的选项 .

| Prop | 类型 | 说明 |
| --- | --- | --- |
| **`title`** | `string` | 提示标题 . |
| **`message`** | `string` | 即时消息. |
| **`updateButtonText`** | `string` | 更新 CTA 标签 . |
| **`cancelButtonText`** | `string` | 取消CTA标签 . |
| **`updateUrl`** | `string` | 如果选中更新动作, 可打开可选 URL . |

#### 打开更新页面

结果有效载荷 `openUpdatePage()`。 。 。 .

| Prop | 类型 | 说明 |
| --- | --- | --- |
| **`opened`** | `boolean` | 是否打开更新 URL 成功 . |
| **`url`** | `string` | 尝试的 URL . |

#### 打开更新页面选项

直接打开更新页面的选项 .

| Prop | 类型 | 说明 |
| --- | --- | --- |
| **`updateUrl`** | `string` | 可选 URL 覆盖 . |

#### 插件听筒

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

### 类型异名

#### 网络视频Platform

`'android' | 'ios' | 'web'`

#### WebViewVersion 状态

`'latest' | 'outdated' | 'unknown'`

## 常见问题

### @capgo/capacitor-webview-version-checker 是什么？

用于检查已过时的Android WebView引擎,排放状态事件,并呈现本地更新提示的 Capacitor 插件\.

### 如何安装 @capgo/capacitor-webview-version-checker？

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

### @capgo/capacitor-webview-version-checker 支持 TypeScript 吗？

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

### @capgo/capacitor-webview-version-checker 支持 ESM 还是 CommonJS？

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

### @capgo/capacitor-webview-version-checker 可以商用吗？

@capgo/capacitor-webview-version-checker 使用 MPL-2\.0 许可。弱 Copyleft：可以商用，也可以和闭源代码一起使用；但如果分发时修改了 MPL 授权的文件，这些文件的修改需以 MPL 开源。以上为概括，不构成法律意见，请以许可原文为准。

### @capgo/capacitor-webview-version-checker 的下载量有多少？

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

### @capgo/capacitor-webview-version-checker 还在维护吗？

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

