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()主な機能
- スケジュールされた再起動 - 長時間実行中の WebView をネイティブのタイマーを使用してリサイクルします。
- または壁時計
restartIntervalMsマニュアルのネイティブ再起動 - JavaScript がページをリロードせずに、最新のネイティブ WebView を要求できます。restartCron. - これはキオスク、POS、ダッシュボード、スキャナ、サインेजアプリが長時間のセッション中にメモリの蓄積を回避するのに役立ちます。
restartWebView()Native __CAPGO_KEEP_1__ から WebView を再起動することもできます。 - Capacitorのタイプされた設定 - 公開
WebViewCrashPluginConfigのplugins.WebViewCrashにcapacitor.config.ts. getPendingCrashInfo- __CAPGO_KEEP_0__が保存されたネイティブのクラッシュまたは再起動マーカー、またはnull何も待っていない場合に返されます。clearPendingCrashInfo- アプリが状態を復元した後、保存されたマーカーをクリアします。simulateCrashRecovery- ローカルでリカバリフローをテストするために偽のクラッシュマーカーを作成します。addListener- クラッシュマーカーとwebViewRestoredAfterCrashのネイティブの再起動マーカーwebViewRestoredAfterRestartの
| メソッド | 説明 |
|---|---|
getPendingCrashInfo | __CAPGO_KEEP_0__が保持しているネイティブのクラッシュまたは再起動マーカーを返します。 null 何も保留されていない場合。 |
clearPendingCrashInfo | アプリが状態を復元した後、マーカーをクリアします。 |
simulateCrashRecovery | ローカルでリコバリーフローをテストするために、偽のクラッシュマーカーを作成します。 |
restartWebView | 書き込み reason: 'manualRestart' ネイティブのcodeに新しいWebViewを作成するように求めます。 |
addListener | 発火 webViewRestoredAfterCrash または webViewRestoredAfterRestart リスナーがアタッチされ、まだ保留中のマッチングマーカーが存在する場合。 |
removeAllListeners | すべてのプラグインリスナーを削除します。 |
設定タイプ
「設定タイプ」セクションCapacitorのプラグインは、型付きの設定エントリを追加します。 PluginsConfig 型付きの WebViewCrash 設定エントリ:
export interface WebViewCrashPluginConfig { restartOnCrash?: boolean; restartIntervalMs?: number; restartCron?: string; restartAfterCrashDelayMs?: number;}- このプラグインは、WebViewのクラッシュ後に回復を検出します。クラッシュを防ぐことはありません。
- APIが発火するときには、前のWebViewのインメモリ状態はすでに失われます。新しいJavaScriptランタイムは、前のWebViewのインメモリ状態を保持していません。
- スケジュールされた再起動は
reason: 'periodicRestart'; 手動の再起動はreason: 'manualRestart'. __CAPGO_KEEP_0__ を保存されていない状態を保存する前に、短い再起動間隔、cron スケジュール、または呼び出しを有効にします。restartWebView(). restartCronデバイスのローカルタイムゾーンで使用される 5 つのフィールドの cron 語法の例0 3 * * *毎日 03:00 の再起動の場合です。両方のスケジュールを一度に設定しないでください:restartCronnative initialization が設定されていてrestartIntervalMs大きい場合、fatal config エラーが native initialization に投げられます。0.- Android の場合、追加のフィールドとして
didCrashとrendererPriorityAtExitが利用可能です。 - iOS の場合、プラグインは終了した WebView プロセスが観測されたときに
appStatewhen the terminated WebView process is observed. Manual and scheduled restarts rebuild the Capacitor bridge view so a newWKWebView手動および予定された再起動では、__CAPGO_KEEP_0__ ブリッジ ビューを再構築するため、新しい
が作成されます。
ソース オブ トゥルース__CAPGO_KEEP_0__のリファレンスはsynced されています src/definitions.ts から capacitor-webview-crash.
capgo/capacitor-webview-crashから続けてください
capgo/capacitor-webview-crashから続けてください__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-webview-crashを使用している場合 capgo/capacitor-webview-crash __CAPGO_KEEP_0__/__CAPGO_KEEP_1__-webview-crashを使用して、ネイティブ メディアとインターフェイスの動作を計画する場合、Cloudflareで接続してください capgo/capacitor-webview-crash capgo/capacitor-live-activities ネイティブ機能のためにUsing @capgo/capacitor-webview-crashを使用する場合、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を参照してください。