跳转到正文

快速入门

GitHub

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

终端窗口
bunx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

然后使用以下 prompt:

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

如果你更想手动设置,请运行以下命令安装插件,并按照下方各平台的说明操作:

  1. 安装软件包

    终端窗口
    bun add @capgo/capacitor-webview-version-checker
  2. 同步原生项目

    终端窗口
    bunx cap sync
  3. 可选:添加插件配置 你可以用默认配置运行 (WebviewVersionChecker: {})或在以下位置自定义 prompt 和阈值行为 capacitor.config.ts.

import { WebviewVersionChecker } from '@capgo/capacitor-webview-version-checker';
const result = await WebviewVersionChecker.check();
console.log(result);
import { WebviewVersionChecker } from '@capgo/capacitor-webview-version-checker';
const result = await WebviewVersionChecker.startMonitoring();
console.log(result);
import { WebviewVersionChecker } from '@capgo/capacitor-webview-version-checker';
const result = await WebviewVersionChecker.stopMonitoring();
console.log(result);
  • 监听器: 在页面卸载时移除句柄。
  • 原生同步:运行 bunx cap sync 在插件升级后。
  • 唯一可信来源:信任 src/definitions.ts 在 GitHub 仓库中。

默认情况下,此插件使用 Browserslist 风格的兼容性规则:

  • minimumDeviceSharePercent 默认为 3
  • 共享数据集在构建时从 caniuse 数据打包而来
  • 默认流程无需在运行时调用数据集 URL
import type { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
plugins: {
WebviewVersionChecker: {},
},
};
export default config;

仅需配置的简单设置(显示原生弹窗)

标题为“仅配置简单设置(显示原生提示)”的章节
import type { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
plugins: {
WebviewVersionChecker: {
autoPromptOnOutdated: true,
},
},
};
export default config;

高级阈值模式(自定义数据集)

章节标题:“高级阈值模式(自定义数据集)”
import type { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
plugins: {
WebviewVersionChecker: {
minimumDeviceSharePercent: 3,
versionShareByMajor: {
'137': 58.2,
'136': 21.3,
'135': 4.6,
'134': 2.1,
},
autoPromptOnOutdated: true,
},
},
};
export default config;

仅当您希望基于真实世界共享数据而非固定版本来判断兼容性时,才使用此功能。

  • minimumDeviceSharePercent: 3 表示已安装的主要版本在您的数据集中占比至少需达到 3%。
  • 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 }] }
import { WebviewVersionChecker } from '@capgo/capacitor-webview-version-checker';
await WebviewVersionChecker.addListener('webViewOutdated', (status) => {
console.log('Outdated WebView detected', status);
});
await WebviewVersionChecker.check({
minimumMajorVersion: 124,
showPromptOnOutdated: true,
});

为什么用这个插件,而不是只用 Capacitor 配置

标题为“为什么用此插件,而不是只用 Capacitor 配置”的部分

Capacitor 支持静态最低版本检查:

android: {
minWebViewVersion: 124,
},
server: {
errorPath: 'unsupported-webview.html',
}

此插件增加了运行时事件和原生 prompt UX,因此用户在被提示更新时仍可打开并使用应用。

评估顺序:

  1. 设备占比阈值模式(minimumDeviceSharePercent + 数据集),如果已提供
  2. 最新版本模式 (latestVersion / latestVersionApiUrl)
  3. 最小主版本回退 (minimumMajorVersion)

该插件支持 Capacitor 在 Android 上使用的两种 WebView provider 模式:

  • Android 5-6 和 10+:Android System WebView (com.google.android.webview)
  • Android 7-9:Google Chrome (com.android.chrome)

如果你正在使用 快速入门 来规划原生媒体和界面行为,并将其与 使用 @capgo/capacitor-webview-version-checker 用于“使用 @capgo/capacitor-webview-version-checker”中的原生能力, 使用 @capgo/capacitor-live-activities 用于使用 @capgo/capacitor-live-activities 时的原生能力, @capgo/capacitor-live-activities 在 @capgo/capacitor-live-activities 中的实现细节, 使用 @capgo/capacitor-video-player 有关使用 @capgo/capacitor-video-player 时的原生能力,以及 @capgo/capacitor-video-player 关于 @capgo/capacitor-video-player. 中的实现细节