コンテンツにスキップ

@capgo/capacitor-webview-crash

ネイティブ WebView のクラッシュ回復、手動再起動、および長時間実行中の Capacitor アプリの定期的な WebView リサイクル

This plugin stores a native marker when the previous Capacitor WebView process dies or is recycled, then exposes that marker to the next JavaScript runtime after the app recovers. It can also restart the WebView from native code after a crash, on a fixed interval, on a cron schedule, or when JavaScript explicitly requests restartWebView()基本機能

長時間のセッション中にメモリの蓄積を避けるために、キオスク、POS、ダッシュボード、スキャナ、サインジ用のアプリに役立つ、

Core Capabilities
  • Native crash restart - iOSまたはAndroidのWebViewを再起動します。レンダラープロセスが死んだときに。
  • Scheduled restart - 長時間実行しているWebViewをnativeタイマーを使用してリサイクルします。 restartIntervalMs or restartCron.
  • Manual native restart - JavaScriptがページをリロードせずに新しいnative WebViewを要求することを許可します。 restartWebView() __CAPGO_KEEP_0__の設定 -
  • Typed Capacitor config - Exposes WebViewCrashPluginConfig を使用します。 plugins.WebViewCrash を返します。 capacitor.config.ts.
  • getPendingCrashInfo - ストレージされたnative crashまたはrestartマーカーを返します、または何も保留されていない場合。 null - アプリが状態を復元した後、ストレージされたマーカーをクリアします。
  • clearPendingCrashInfo __CAPGO_KEEP_0__
  • simulateCrashRecovery - ローカルで復旧フローをテストするために、偽のクラッシュマーカーを作成します。
  • addListener - webViewRestoredAfterCrash クラッシュマーカーと webViewRestoredAfterRestart クラッシュマーカーと

Public API

Public API
メソッド説明
getPendingCrashInfoクラッシュまたは再起動マーカーを取得します。 null クラッシュマーカーをクリアします。
clearPendingCrashInfoローカルで復旧フローをテストするために、偽のクラッシュマーカーを作成します。
simulateCrashRecoveryprotectedTokens
restartWebView書き込み reason: 'manualRestart' Native code に新しい WebView を作成するよう依頼します。
addListener発火 webViewRestoredAfterCrash または webViewRestoredAfterRestart または
removeAllListenersリスナーがアタッチされ、まだマッチングマーカーが保留中の場合

すべてのプラグインリスナーを削除します。

構成タイプ

The plugin augments Capacitor’s PluginsConfig プラグインは __CAPGO_KEEP_0__ に型付きの WebViewCrash 構成エントリを追加します:

export interface WebViewCrashPluginConfig {
restartOnCrash?: boolean;
restartIntervalMs?: number;
restartCron?: string;
restartAfterCrashDelayMs?: number;
}
  • ウェブビューのクラッシュ後に回復を検出します。このプラグインは、クラッシュの根本原因を防ぐことはありません。
  • API が発生するとき点、前のウェブビューのインメモリ状態はすでに失われています。
  • 予定された再起動 reason: 'periodicRestart'; 手動の再起動 reason: 'manualRestart'. 未保存の状態を保存する前に、短い再起動間隔、cron スケジュール、または restartWebView().
  • restartCron デバイスのローカルタイムゾーンで使用する 5 つのフィールドの cron 語法の例 0 3 * * * 毎日 03:00 の再起動を設定しないようにしてください。両方のスケジュールを同時に設定すると、 restartCron が設定されている場合と restartIntervalMs が大きい場合、 0.
  • Android では、 didCrashrendererPriorityAtExit 利用可能である場合があります。
  • iOSでは、プラグインは appState 終了したWebViewプロセスが観測されたときに記録します。手動と予定された再起動で、Capacitor ブリッジビューを再構築するため、新しい WKWebView 真実の源

「真実の源」

この参照は

からsyncされます。 src/definitions.ts __CAPGO_KEEP_0__-webview-crash 続きますから@capacitor/__CAPGO_KEEP_1__-webview-crash.

「続きますから@capgo/capacitor-webview-crash」

Section titled “Keep going from @capgo/capacitor-webview-crash”

Capgoを使用している場合 @capgo/capacitor-webview-crash ネイティブメディアとインターフェイスの動作を計画するには、@__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-webview-crashを接続する Capgoを使用してネイティブ機能を使用するには@capgo/capacitor-webview-crash Capgoを使用してネイティブ機能を使用するには@capgo/capacitor-live-activities Capgoを使用してネイティブ機能を使用するには@capgo/capacitor-live-activities @capgo/capacitor-live-activities Capgoを使用して実装の詳細を使用するには@capgo/capacitor-live-activities Capgoを使用してネイティブ機能を使用するには@capgo/capacitor-video-player Capgoを使用してネイティブ機能を使用するには@capgo/capacitor-video-player Capgoを使用してネイティブ機能を使用するには@capgo/capacitor-video-player Capgoを使用してネイティブ機能を使用するには@capgo/capacitor-video-player {"targetLanguage":"Japanese","pagePath":"/ja/docs/plugins/webview-crash/","protectedTokens":["Cloudflare","Capacitor","GitHub","Capgo","code","API","SDK","CLI","npm","bun"],"items":[{"text":"@capgo/capacitor-video-playerの実装詳細については"},{"text":"ページを編集する"}]}