__CAPGO_KEEP_0__

はじめに

  1. パッケージをインストール

    ターミナル画面
    bun add @capgo/capacitor-webview-version-checker
  2. ネイティブプロジェクトを同期

    ターミナル画面
    bunx cap sync
  3. オプション: プラグイン設定を追加 デフォルトで実行できます (WebviewVersionChecker: {}) または、プロンプトと閾値の動作をカスタマイズできます。 capacitor.config.ts.

デフォルトの動作 (主な使用例)

デフォルトの動作 (主な使用例) のセクション

デフォルトでは、このプラグインはブラウザリストスタイルの互換性規則を使用します。

  • 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 __CAPGO_KEEP_0__のインストールされたメジャーバージョンは、データセット内の3%以上を表す必要があります。
  • versionShareByMajor __CAPGO_KEEP_0__は、メジャーバージョン => パーセンテージというカスタムマップをサポートしています。
  • リモートデータを使用する場合は、 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',
}

このプラグインは、実行時イベントとネイティブのプロンプトUIを追加するため、ユーザーはアプリを更新するように誘導されながらも、アプリを開いて使用できます。

評価順序:

  1. デバイスシェアリング閾値モード(+データセット)が指定されている場合minimumDeviceSharePercent 最新バージョンモード(
  2. 最小主バージョンフォールバック(latestVersion / latestVersionApiUrl)
  3. Android プロバイダハンドリングminimumMajorVersion)

The plugin supports both WebView provider models used by Capacitor on Android:

  • Android 7-9: Google Chrome (com.google.android.webview)
  • Android 7-9: Google Chrome (com.android.chrome)