{"_id":"@capawesome/capacitor-system-webview","_rev":"4-b95b1825949c851b7b3e72e6b6b906b7","name":"@capawesome/capacitor-system-webview","dist-tags":{"latest":"0.1.2"},"versions":{"0.0.1":{"name":"@capawesome/capacitor-system-webview","version":"0.0.1","keywords":["capacitor","plugin","native"],"author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","_id":"@capawesome/capacitor-system-webview@0.0.1","maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"homepage":"https://capawesome.io/docs/sdks/capacitor/system-webview/","bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"dist":{"shasum":"bc32415cbd2c5a222124563456dcc1702bdfb099","tarball":"https://registry.npmjs.org/@capawesome/capacitor-system-webview/-/capacitor-system-webview-0.0.1.tgz","fileCount":35,"integrity":"sha512-ogFnPq9R6MJryK82o1qb2YF8xUBYvbO+Ly054zk8vDSJjqoIBhONax7+ebBsuWN1Tfge9OqHV9YqRFgFDpW2lw==","signatures":[{"sig":"MEQCIHUzGL6EpB+B6Qp8e7QPWLj6thfFjvF21dsaYlcn7TrzAiA7fQm9cvesYjUmn3FIKEJaCj+2Yteancn2KBzJ1vTSXw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54088},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","funding":[{"url":"https://github.com/sponsors/capawesome-team/","type":"github"},{"url":"https://opencollective.com/capawesome","type":"opencollective"}],"gitHead":"a8c9e0f3c4687c6a9f4fc7554f3dc79536ad5154","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api SystemWebViewPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:web":"npm run build","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"_npmUser":{"name":"robingenz","email":"mail@robingenz.dev"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/capawesome-team/capacitor-plugins.git","type":"git"},"_npmVersion":"11.13.0","description":"Capacitor plugin to detect an outdated Android System WebView and guide users to update it.","directories":{},"_nodeVersion":"24.16.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","rimraf":"6.1.2","rollup":"4.53.3","swiftlint":"2.0.0","typescript":"5.9.3","@capacitor/cli":"8.0.0","@capacitor/ios":"8.0.0","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/android":"8.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.6.7"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-system-webview_0.0.1_1783449389289_0.5337877342709945","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@capawesome/capacitor-system-webview","version":"0.1.0","keywords":["capacitor","plugin","native","capacitor-plugin","android system webview","webview version","webview update","outdated webview","chromium version","webview","android"],"author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","_id":"@capawesome/capacitor-system-webview@0.1.0","maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"homepage":"https://capawesome.io/docs/sdks/capacitor/system-webview/","bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"dist":{"shasum":"0cb47f858c012fa849db1224c0cfdb1f4ec8d2c3","tarball":"https://registry.npmjs.org/@capawesome/capacitor-system-webview/-/capacitor-system-webview-0.1.0.tgz","fileCount":35,"integrity":"sha512-oJcpG/u6FGJHGgyyvP+/VPhoSdAVG8kTYN9LhtjVgnwKVpCfpmBQM9H12+MJa9c1W/u59I4YnHCY0IArF8q9Gw==","signatures":[{"sig":"MEYCIQCkOvmqg4SNx5559hx6OrSxxZ0PHy9EZ6HQKKjkHODFYQIhANYbtL/7dMYfHPoyGf/vL7PnqOsU8t63CqNqKhxvTMHw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capawesome%2fcapacitor-system-webview@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":58197},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","funding":[{"url":"https://github.com/sponsors/capawesome-team/","type":"github"},{"url":"https://opencollective.com/capawesome","type":"opencollective"}],"gitHead":"1ce17b1fd14c43b2f1d5d3c2da82221e1d1dca37","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api SystemWebviewPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:web":"npm run build","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d38adf00-4b8f-4f7a-86c7-779b8e5b36b4"}},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/capawesome-team/capacitor-plugins.git","type":"git"},"_npmVersion":"11.16.0","description":"Capacitor plugin to detect an outdated Android System WebView and guide users to update it.","directories":{},"_nodeVersion":"24.18.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","rimraf":"6.1.2","rollup":"4.53.3","swiftlint":"2.0.0","typescript":"5.9.3","@capacitor/cli":"8.0.0","@capacitor/ios":"8.0.0","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/android":"8.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.6.7"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-system-webview_0.1.0_1784015607223_0.8124697043935334","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@capawesome/capacitor-system-webview","version":"0.1.1","keywords":["capacitor","plugin","native","capacitor-plugin","android system webview","webview version","webview update","outdated webview","chromium version","webview","android"],"author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","_id":"@capawesome/capacitor-system-webview@0.1.1","maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"homepage":"https://capawesome.io/docs/sdks/capacitor/system-webview/","bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"dist":{"shasum":"286e09ce8f332216985902e71c9ccd48fa371859","tarball":"https://registry.npmjs.org/@capawesome/capacitor-system-webview/-/capacitor-system-webview-0.1.1.tgz","fileCount":35,"integrity":"sha512-NCTwNLT6XQABds+bKXQt7Va+SKWzPtr6XCDwZuEp9ykKuVKS0nkS5XPV1w6wRJomOE3YwsCYlmLeTsW0CEfaBw==","signatures":[{"sig":"MEUCIDW1jy2/zLC42xI9MX+7rQvEwKDiHQvVlTuP52Evr0H9AiEAmbeYi3Erwwy8J4Wkp4cwYJO2Sy1R3WEw9NdHmrR8SGM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capawesome%2fcapacitor-system-webview@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":58206},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","funding":[{"url":"https://github.com/sponsors/capawesome-team/","type":"github"},{"url":"https://opencollective.com/capawesome","type":"opencollective"}],"gitHead":"3e61f4b412f9f3f512c21169bb135bbb23a67e6d","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api SystemWebviewPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:web":"npm run build","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d38adf00-4b8f-4f7a-86c7-779b8e5b36b4"}},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/capawesome-team/capacitor-plugins.git","type":"git"},"_npmVersion":"11.16.0","description":"Capacitor plugin to detect an outdated Android System WebView and guide users to update it.","directories":{},"_nodeVersion":"24.18.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","rimraf":"6.1.2","rollup":"4.53.3","swiftlint":"2.0.0","typescript":"5.9.3","@capacitor/cli":"8.0.0","@capacitor/ios":"8.0.0","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/android":"8.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.6.7"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-system-webview_0.1.1_1784103059863_0.9159982192247684","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@capawesome/capacitor-system-webview","version":"0.1.2","description":"Capacitor plugin to detect an outdated Android System WebView and guide users to update it.","main":"dist/plugin.cjs.js","module":"dist/esm/index.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/capawesome-team/capacitor-plugins.git"},"bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"funding":[{"type":"github","url":"https://github.com/sponsors/capawesome-team/"},{"type":"opencollective","url":"https://opencollective.com/capawesome"}],"homepage":"https://capawesome.io/docs/sdks/capacitor/system-webview/","keywords":["capacitor","plugin","native","capacitor-plugin","android system webview","webview version","webview update","outdated webview","chromium version","webview","android"],"scripts":{"verify":"npm run verify:ios && npm run verify:android && npm run verify:web","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:android":"cd android && ./gradlew clean build test && cd ..","verify:web":"npm run build","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","eslint":"eslint . --ext ts","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","docgen":"docgen --api SystemWebviewPlugin --output-readme README.md --output-json dist/docs.json","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd ..","prepublishOnly":"npm run build"},"devDependencies":{"@capacitor/android":"8.0.0","@capacitor/cli":"8.4.2","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/ios":"8.0.0","@ionic/eslint-config":"0.4.0","eslint":"8.57.0","prettier-plugin-java":"2.9.7","rimraf":"6.1.2","rollup":"4.62.3","swiftlint":"2.0.0","typescript":"5.9.3"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"publishConfig":{"access":"public"},"gitHead":"7c1937ed10b7de86ca2c1cdc3539a2735fd69a00","_id":"@capawesome/capacitor-system-webview@0.1.2","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-Mu371s1UqxzIl63hQ328xduJY4RoXXAVlqJjI+HnATsu6OVQ2b3kAyR/rMTfbwCs1K/AkIusrWd7YollCrCSxw==","shasum":"567ede03591b5087abf7d14d64ceabcf2005d8ca","tarball":"https://registry.npmjs.org/@capawesome/capacitor-system-webview/-/capacitor-system-webview-0.1.2.tgz","fileCount":35,"unpackedSize":58036,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capawesome%2fcapacitor-system-webview@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCf5ui4C3SEpNbAmfSclJxAl4R6B711C/1VUtS84QLDXAIhAIQY0u9qJdx5yy2kAQN226cAcmxqcD4bkQO7R6ZuAd2z"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d38adf00-4b8f-4f7a-86c7-779b8e5b36b4"}},"directories":{},"maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/capacitor-system-webview_0.1.2_1788337423914_0.07711165403171982"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-07T18:36:29.098Z","modified":"2026-09-02T08:23:44.355Z","0.0.1":"2026-07-07T18:36:29.433Z","0.1.0":"2026-07-14T07:53:27.366Z","0.1.1":"2026-07-15T08:11:00.001Z","0.1.2":"2026-09-02T08:23:44.050Z"},"bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","homepage":"https://capawesome.io/docs/sdks/capacitor/system-webview/","keywords":["capacitor","plugin","native","capacitor-plugin","android system webview","webview version","webview update","outdated webview","chromium version","webview","android"],"repository":{"type":"git","url":"git+https://github.com/capawesome-team/capacitor-plugins.git"},"description":"Capacitor plugin to detect an outdated Android System WebView and guide users to update it.","maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"readme":"# Capacitor System WebView Plugin\n\nCapacitor plugin to detect an outdated Android System WebView and guide users to update it.\n\n<div class=\"capawesome-z29o10a\">\n  <a href=\"https://cloud.capawesome.io/\" target=\"_blank\">\n    <img alt=\"Deliver Live Updates to your Capacitor app with Capawesome Cloud\" src=\"https://cloud.capawesome.io/assets/banners/cloud-build-and-deploy-capacitor-apps.png?t=1\" />\n  </a>\n</div>\n\n## Features\n\n- 🔍 **Detection**: Read the package name and version of the active Android System WebView provider.\n- ⚠️ **Outdated check**: Compare the installed Chromium major version against the minimum your app requires.\n- 🛒 **Update flow**: Send users straight to the Play Store entry of their active WebView provider.\n- 🤝 **Compatibility**: Works alongside the [App Update](https://capawesome.io/docs/sdks/capacitor/app-update/), [Device Info](https://capawesome.io/docs/sdks/capacitor/device-info/) and [Dialog](https://capawesome.io/docs/sdks/capacitor/dialog/) plugins.\n- 🔁 **Up-to-date**: Always supports the latest Capacitor version.\n\nMissing a feature? Just [open an issue](https://github.com/capawesome-team/capacitor-plugins/issues) and we'll take a look!\n\n## Use Cases\n\nThe System WebView plugin is typically used to protect an app against outdated Android System WebViews, for example:\n\n- **Update checks on app start**: Check with `isUpdateRequired(...)` whether the installed WebView meets the minimum Chromium version your app's bundle requires.\n- **Guided update flows**: Prompt the user with a dialog and send them straight to the Play Store entry of their active WebView provider with `openAppStore()`.\n- **Support diagnostics**: Read the package name and version of the active WebView provider with `getInfo()` and attach it to bug reports to explain hard-to-diagnose rendering issues.\n- **Feature gating**: Only enable web features like CSS `:has()` or container queries when the installed WebView is recent enough to support them.\n\n## Compatibility\n\n| Plugin Version | Capacitor Version | Status         |\n| -------------- | ----------------- | -------------- |\n| 0.x.x          | >=8.x.x           | Active support |\n\n## Installation\n\nYou can use our **AI-Assisted Setup** to install the plugin.\nAdd the [Capawesome Skills](https://github.com/capawesome-team/skills) to your AI tool using the following command:\n\n```bash\nnpx skills add capawesome-team/skills --skill capacitor-plugins\n```\n\nThen use the following prompt:\n\n```\n Use the `capacitor-plugins` skill from `capawesome-team/skills` to install the `@capawesome/capacitor-system-webview` plugin in my project.\n```\n\nIf you prefer **Manual Setup**, install the plugin by running the following commands and follow the platform-specific instructions below:\n\n```bash\nnpm install @capawesome/capacitor-system-webview\nnpx cap sync\n```\n\nThis plugin is only available on **Android**. On iOS and Web, all methods reject as unimplemented (see [iOS](#ios) below).\n\n### Android\n\n#### Variables\n\nThis plugin will use the following project variables (defined in your app's `variables.gradle` file):\n\n- `$androidxWebkitVersion` version of `androidx.webkit:webkit` (default: `1.14.0`)\n\n### iOS\n\nThis plugin has **no iOS implementation** and does not need one. On iOS, the `WKWebView` is part of the operating system and is updated together with iOS itself. It cannot be updated separately, so there is nothing for an app to detect or fix.\n\nAll methods reject as unimplemented on iOS.\n\n## Configuration\n\nNo configuration required for this plugin.\n\n## Usage\n\nThe following examples show how to prompt the user to update the WebView and read information about the WebView provider.\n\n### Prompt the user to update the WebView\n\nThe recommended pattern is to check whether an update is required on app start, prompt the user with the [Dialog](https://capawesome.io/docs/sdks/capacitor/dialog/) plugin, and then open the Play Store. Only available on Android:\n\n```typescript\nimport { SystemWebview } from '@capawesome/capacitor-system-webview';\nimport { Dialog } from '@capacitor/dialog';\n\nconst promptForUpdateIfRequired = async () => {\n  const { required } = await SystemWebview.isUpdateRequired({\n    minMajorVersion: 105,\n  });\n  if (!required) {\n    return;\n  }\n  const { value } = await Dialog.confirm({\n    title: 'Update required',\n    message:\n      'Your Android System WebView is outdated. Please update it to continue using all features of this app.',\n    okButtonTitle: 'Update',\n  });\n  if (value) {\n    await SystemWebview.openAppStore();\n  }\n};\n```\n\n> [!NOTE]\n> A WebView update only takes effect the next time the app process is started. The currently running app keeps using the old WebView until it is restarted.\n\n### Read information about the WebView provider\n\nGet the package name, version name and Chromium major version of the active WebView provider, for example to attach it to your support diagnostics. Only available on Android:\n\n```typescript\nimport { SystemWebview } from '@capawesome/capacitor-system-webview';\n\nconst getInfo = async () => {\n  const info = await SystemWebview.getInfo();\n  return info;\n};\n```\n\n## API\n\n<docgen-index>\n\n* [`getInfo()`](#getinfo)\n* [`isUpdateRequired(...)`](#isupdaterequired)\n* [`openAppStore()`](#openappstore)\n* [Interfaces](#interfaces)\n\n</docgen-index>\n\n<docgen-api>\n<!--Update the source file JSDoc comments and rerun docgen to update the docs below-->\n\n### getInfo()\n\n```typescript\ngetInfo() => Promise<GetInfoResult>\n```\n\nGet information about the active Android System WebView provider.\n\nOnly available on Android.\n\n**Returns:** <code>Promise&lt;<a href=\"#getinforesult\">GetInfoResult</a>&gt;</code>\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### isUpdateRequired(...)\n\n```typescript\nisUpdateRequired(options: IsUpdateRequiredOptions) => Promise<IsUpdateRequiredResult>\n```\n\nCheck whether the active Android System WebView is older than the minimum\nChromium major version required by your app.\n\nOnly available on Android.\n\n| Param         | Type                                                                        |\n| ------------- | --------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#isupdaterequiredoptions\">IsUpdateRequiredOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#isupdaterequiredresult\">IsUpdateRequiredResult</a>&gt;</code>\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### openAppStore()\n\n```typescript\nopenAppStore() => Promise<void>\n```\n\nOpen the Play Store entry of the active Android System WebView provider so\nthe user can update it.\n\nOnly available on Android.\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### Interfaces\n\n\n#### GetInfoResult\n\n| Prop               | Type                        | Description                                                                                                                                                                                                                                                       | Since |\n| ------------------ | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- |\n| **`majorVersion`** | <code>number \\| null</code> | The Chromium major version of the active WebView provider. This is the integer before the first dot of the `versionName` (e.g. `126` for `126.0.6478.122`). `null` if the `versionName` is not a Chromium-style version, which can happen with OEM WebView forks. | 0.1.0 |\n| **`packageName`**  | <code>string</code>         | The package name of the active WebView provider.                                                                                                                                                                                                                  | 0.1.0 |\n| **`versionName`**  | <code>string</code>         | The version name of the active WebView provider.                                                                                                                                                                                                                  | 0.1.0 |\n\n\n#### IsUpdateRequiredResult\n\n| Prop           | Type                 | Description                                                                                 | Since |\n| -------------- | -------------------- | ------------------------------------------------------------------------------------------- | ----- |\n| **`required`** | <code>boolean</code> | `true` if the active WebView is older than the required minimum version, otherwise `false`. | 0.1.0 |\n\n\n#### IsUpdateRequiredOptions\n\n| Prop                  | Type                | Description                                                                                                                                     | Since |\n| --------------------- | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----- |\n| **`minMajorVersion`** | <code>number</code> | The minimum Chromium major version your app requires. The active WebView is considered outdated if its `majorVersion` is lower than this value. | 0.1.0 |\n\n</docgen-api>\n\n## Why Outdated System WebViews Matter\n\nOn Android, your Capacitor app runs inside the Android System WebView, which is updated independently of the operating system. Many devices run an ancient WebView because the user has disabled automatic updates, is offline, or uses a custom ROM. When that happens, modern web features your app relies on may simply be missing, causing hard-to-diagnose \"the app is broken\" support tickets.\n\nBecause \"outdated\" depends on which web features your app's bundle actually needs, this plugin never hardcodes a threshold. Instead, your app declares the minimum Chromium major version it requires via `isUpdateRequired(...)`.\n\nThe following table gives a rough idea of when some popular web features became available in Chromium (and therefore the System WebView):\n\n| Chromium major | Rough web-feature baseline                    |\n| -------------- | --------------------------------------------- |\n| 97+            | Array `findLast` / `findLastIndex`            |\n| 105+           | CSS `:has()` selector and container queries   |\n| 112+           | Native CSS nesting                            |\n| 114+           | CSS `text-wrap: balance`                      |\n\nPick the minimum version based on the features your app uses and pass it as `minMajorVersion`.\n\n## FAQ\n\n### How is this plugin different from other similar plugins?\n\nIt turns a hard-to-diagnose class of Android bugs into something you can detect and fix: read the active WebView provider's package name, version, and Chromium major version, compare it against the minimum your app's bundle needs, and send users straight to the Play Store entry of their own WebView provider to update it. Your app declares the minimum Chromium version it requires, so the check always matches the web features your bundle actually uses. The API is fully typed and kept current with the latest Capacitor version.\n\n### Why is this plugin not available on iOS?\n\nOn iOS, the `WKWebView` is part of the operating system and is updated together with iOS itself. It cannot be updated separately, so there is nothing for an app to detect or fix. All methods therefore reject as unimplemented on iOS and Web.\n\n### Which minimum Chromium version should I require?\n\nThere is no universal threshold, because \"outdated\" depends on which web features your app's bundle actually needs. Pick the minimum Chromium major version based on the features your app uses (for example, CSS `:has()` and container queries require Chromium 105 or newer) and pass it as `minMajorVersion` to `isUpdateRequired(...)`. See [Why Outdated System WebViews Matter](#why-outdated-system-webviews-matter) for a rough feature baseline table.\n\n### Why is `majorVersion` sometimes `null`?\n\nThe `majorVersion` is derived from the integer before the first dot of the WebView provider's `versionName`. If the `versionName` is not a Chromium-style version, which can happen with OEM WebView forks, the `majorVersion` is `null`. In that case, you can still inspect the raw `packageName` and `versionName` returned by `getInfo()`.\n\n### Why does my app still use the old WebView after the user updated it?\n\nA WebView update only takes effect the next time the app process is started. The currently running app keeps using the old WebView until it is restarted.\n\n### Can I use this plugin with Ionic, React, Vue or Angular?\n\nYes, the plugin is framework-agnostic. It works in any Capacitor app regardless of the web framework, including Ionic with Angular, React, or Vue, as well as plain JavaScript projects.\n\n## Related Plugins\n\n- [App Update](https://capawesome.io/docs/sdks/capacitor/app-update/): Assist with native app updates.\n- [Device Info](https://capawesome.io/docs/sdks/capacitor/device-info/): Read device information, such as the model, manufacturer, and operating system.\n- [Dialog](https://capawesome.io/docs/sdks/capacitor/dialog/): Show native alert, confirm, and prompt dialogs.\n\n## Newsletter\n\nStay up to date with the latest news and updates about the Capawesome, Capacitor, and Ionic ecosystem by subscribing to our [Capawesome Newsletter](https://cloud.capawesome.io/newsletter/).\n\n## Changelog\n\nSee [CHANGELOG.md](https://github.com/capawesome-team/capacitor-plugins/blob/main/packages/system-webview/CHANGELOG.md).\n\n## License\n\nSee [LICENSE](https://github.com/capawesome-team/capacitor-plugins/blob/main/packages/system-webview/LICENSE).\n","readmeFilename":"README.md"}