Skip to content

Getting Started

GitHub
  1. Install the package

    Terminal window
    bun add @capgo/capacitor-webview-version-checker
  2. Sync native projects

    Terminal window
    bunx cap sync
  3. Optional: add plugin config You can run with defaults (WebviewVersionChecker: {} ( ) capacitor.config.ts.

Default behavior (main use case)

Default behavior (main use case)

By default, this plugin uses a Browserslist-style compatibility rule:

  • 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 __CAPGO_KEEP_0__의 사용자 정의 맵: 메이저 버전 => 퍼센트.
  • If you prefer remote data, use versionShareApiUrl with one of:
    • { "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 }] }

자바스크립트를 사용한 고급 사용법

Advanced usage with JavaScript
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 설정만 사용하는 것보다

Section titled “Why use this plugin instead of only Capacitor config”

Capacitor는 정적 최소 체크를 지원합니다.

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

이 플러그인은 런타임 이벤트와 네이티브 프롬프트 UX를 추가하여 사용자가 업데이트를 권장받으면서도 앱을 여전히 열고 사용할 수 있도록 합니다.

Evaluation order:

  1. __CAPGO_KEEP_0__ 기기 공유 임계값 모드 (minimumDeviceSharePercent + 데이터 세트), 제공 시
  2. 최신 버전 모드 (latestVersion / latestVersionApiUrl)
  3. 최소 주요 버전 fallback (minimumMajorVersion)

안드로이드 제공자 처리

제목 '안드로이드 제공자 처리'

Capacitor이 안드로이드에서 사용하는 WebView 제공자 모델 모두를 지원합니다.

  • 안드로이드 5-6 및 10+: Android System WebView (com.google.android.webview)
  • 안드로이드 7-9: Google Chrome (com.android.chrome)

Getting Started에서 계속하기

제목 'Getting Started에서 계속하기'

__CAPGO_KEEP_0__을 사용 중이라면 Getting Started native 미디어 및 인터페이스 동작을 계획하기 위해, Using @capgo/capacitor-webview-version-checker native 기능을 사용하는 @capgo/capacitor-webview-version-checker에 대해 Using @capgo/capacitor-live-activities native 기능을 사용하는 @capgo/capacitor-live-activities에 대해 @capgo/capacitor-live-activities @capgo/capacitor-live-activities의 구현 세부 사항에 대해 Using @capgo/capacitor-video-player native 기능을 사용하는 @capgo/capacitor-video-player에 대해, @capgo/capacitor-video-player @capgo/capacitor-video-player의 구현 세부 사항에 대해.