メインコンテンツにジャンプ

@capgo/capacitor-webview-crash

Native WebView crash recovery, manual restart, and scheduled WebView recycling for long-running Capacitor apps.

このプラグインは、前の Capacitor WebView プロセスが死にまたはリサイクルされたときにネイティブ マーカーを保存し、次の JavaScript ランタイムにそのマーカーを公開します。アプリが回復した後、定期的に、cron スケジュールで、または JavaScript が明示的に要求したときに、WebView をネイティブ code から再起動することもできます。 restartWebView(), これは、長時間のセッション中にメモリの蓄積を避けるためにキオスク、POS、ダッシュボード、スキャナ、サインेजアプリに役立ちます。

主な機能

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

セクションのタイトル “Public API”

Section titled “Public API”
説明クラッシュまたは再起動マーカーを保存したものを返します、または
getPendingCrashInfo何も保留されていない場合 null アプリが状態を復元した後、保存されたマーカーをクリアします。
clearPendingCrashInfoローカルで復旧フローをテストするために、偽のクラッシュマーカーを作成します。
simulateCrashRecoveryfor crash markers and for any native restart marker.
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 が発生するときには、前のウェブビューのインメモリ状態はすでに失われています。新しい JavaScript ランタイムが使用されます。
  • スケジュールされた再起動は reason: 'periodicRestart'; reason: 'manualRestart'手動の再起動は restartWebView().
  • restartCron . 0 3 * * * 短い再起動間隔、cron スケジュール、または restartCron の使用前に、未保存の状態を保存してください。 restartIntervalMs 5 つのフィールドの cron 語法を使用します。 0.
  • 例えば、毎日 03:00 の再起動を設定します。同時に両方のスケジュールを設定しないでください: native の初期化は、が設定されている場合と、が大きい場合に致命的な構成エラーを投げます。 didCrash そして rendererPriorityAtExit 利用可能になる場合があります。
  • iOS上では、プラグインは appState when the terminated WebView process is observed. Manual and scheduled restarts rebuild the Capacitor bridge view so a new WKWebView 手動および予定された再起動で、__CAPGO_KEEP_0__ ブリッジビューを再構築するため、新しい

真実の源

「真実の源」

この参照は src/definitions.ts からsynced capacitor-webview-crash.

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

「@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を使用してネイティブ機能を使用するには@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":"ページを編集する"}]}