Zum Inhalt springen

@capgo/capacitor-Webview-Crash

Native WebView-Fehlertreiber, manuelle Neustart und geplante WebView-Wiederherstellung für langlaufende Capacitor-Anwendungen.

Dieses Plugin speichert einen nativen Marker, wenn das vorherige Capacitor WebView-Prozess stirbt oder recycelt wird, und offenbart dann diesen Marker nach dem Wiederherstellen der App an das nächste JavaScript- Runtime. Es kann auch den WebView von der nativen code nach einem Crash, auf einem festen Intervall, auf einem Cron-Schema oder wenn JavaScript explizit anfordert restartWebView()Es hilft Kiosk-, POS-, Dashboard-, Scanner- und Signage-Anwendungen, sich vor einer Speicheraufstockung während langen Sitzungen zu schützen.

  • Nativcrash Neustart - Neustart der WebView von iOS oder Android, wenn der Renderer-Prozess abstürzt.
  • Geplantes Neustart - Recycelt lange laufende WebViews auf einem nativen Timer mithilfe von restartIntervalMs oder einem Uhrzeigerschalter restartCron.
  • Manueller nativer Neustart - Lässt JavaScript einen frischen nativen WebView anfordern, restartWebView() ohne eine Seite neu zu laden.
  • Typierte Capacitor-Konfiguration - Enthält WebViewCrashPluginConfig für plugins.WebViewCrash in capacitor.config.ts.
  • getPendingCrashInfo - Gibt den gespeicherten nativen Crash- oder Neustartmarker zurück, oder null wenn nichts im Gange ist.
  • clearPendingCrashInfo - Löschet den gespeicherten Marker nachdem Ihre App ihren Zustand wiederhergestellt hat.
  • simulateCrashRecovery - Erstellt einen fiktiven Crashmarker, damit lokale Recovery-Flows getestet werden können.
  • addListener - Auslöser webViewRestoredAfterCrash für Crashmarker und webViewRestoredAfterRestart für jeden native Restartmarker.
MethodeBeschreibung
getPendingCrashInfoRuft die gespeicherte native Crash- oder Neustartmarke ab, oder null wenn nichts anhängig ist.
clearPendingCrashInfoLöscht die gespeicherte Marker nachdem Ihre App ihren Zustand wiederhergestellt hat.
simulateCrashRecoveryDie gespeicherte Marke nachdem Ihre App ihren Zustand wiederhergestellt hat, löscht.
restartWebViewWrites reason: 'manualRestart' und fragt native code nach, ein frisches WebView zu erstellen.
addListenerFiring webViewRestoredAfterCrash oder webViewRestoredAfterRestart Wenn ein Hörer anhängt und ein passender Marker noch aussteht.
removeAllListenersEntfernt alle Plugin-Hörer.

Das Plugin ergänzt Capacitor’s PluginsConfig mit einem WebViewCrash typisierten

export interface WebViewCrashPluginConfig {
restartOnCrash?: boolean;
restartIntervalMs?: number;
restartCron?: string;
restartAfterCrashDelayMs?: number;
}
  • Dieses Plugin erkennt eine Wiederherstellung nach einem WebView-Crash. Es verhindert jedoch nicht den zugrunde liegenden Crash.
  • Das wiederhergestellte JavaScript- Runtime ist neu, daher ist jeder in-Memory-Zustand vom vorherigen WebView bereits verschwunden, wenn dieser API ausgelöst wird.
  • Geplante Neustarts schreiben reason: 'periodicRestart'Manuelle Neustarts schreiben reason: 'manualRestart'. Speichern Sie ungespeicherte Daten, bevor Sie kurze Neustartschritte, Cron-Aufträge oder Aufrufe restartWebView().
  • restartCron verwendet 5-Felder-Cron-Syntax im Gerätezeitzone, zum Beispiel 0 3 * * * für einen täglichen Neustart um 03:00 Uhr. Konfigurieren Sie nicht beide Schedules gleichzeitig: Die native Initialisierung wirft einen fatalen Konfigurationsfehler, wenn restartCron festgelegt ist und restartIntervalMs ist größer als 0.
  • ist. Auf Android-Geräten werden zusätzliche Felder wie didCrash und rendererPriorityAtExit möglicherweise verfügbar.
  • Auf iOS wird das Plugin aufgezeichnet, appState wenn der beendete WebView-Prozess beobachtet wird. Manuelle und geplante Neustarts bauen den Capacitor-Bridge-View neu, sodass ein neuer WKWebView Quelle der Wahrheit

Quelle der Wahrheit

Diese Referenz wird von “

Dieses Referenzdokument wird synchronisiert von src/definitions.ts in capacitor-webview-crash.

Quelle der Wahrheit @capgo/capacitor-crash um native Medien und Schnittstellenverhalten zu planen, verbinden Sie es mit Mit @capgo/capacitor-crash Mit @capgo/capacitor-crash für die native Fähigkeit in Mit @capgo/capacitor-crash Mit @capgo/capacitor-live-aktivitäten für die native Fähigkeit in Mit @capgo/capacitor-live-aktivitäten @capgo/capacitor-live-aktivitäten für die Implementierungsdetails in @capgo/capacitor-live-aktivitäten Mit @capgo/capacitor-video-abspiel für die native Fähigkeit in Mit @capgo/capacitor-video-abspiel, und @capgo/capacitor-video-abspiel für die Implementierungsdetails in @capgo/capacitor-video-abspiel