@capgo/capacitor-Webview-Crash
Übersicht
Abschnitt mit dem Titel „Übersicht“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.
Kernfunktionen
Abschnitt mit dem Titel „Kernfunktionen“- 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
restartIntervalMsoder einem UhrzeigerschalterrestartCron. - Manueller nativer Neustart - Lässt JavaScript einen frischen nativen WebView anfordern,
restartWebView()ohne eine Seite neu zu laden. - Typierte Capacitor-Konfiguration - Enthält
WebViewCrashPluginConfigfürplugins.WebViewCrashincapacitor.config.ts. getPendingCrashInfo- Gibt den gespeicherten nativen Crash- oder Neustartmarker zurück, odernullwenn 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öserwebViewRestoredAfterCrashfür Crashmarker undwebViewRestoredAfterRestartfür jeden native Restartmarker.
Öffentlich API
Sektion mit Titel “Öffentlich API”| Methode | Beschreibung |
|---|---|
getPendingCrashInfo | Ruft die gespeicherte native Crash- oder Neustartmarke ab, oder null wenn nichts anhängig ist. |
clearPendingCrashInfo | Löscht die gespeicherte Marker nachdem Ihre App ihren Zustand wiederhergestellt hat. |
simulateCrashRecovery | Die gespeicherte Marke nachdem Ihre App ihren Zustand wiederhergestellt hat, löscht. |
restartWebView | Writes reason: 'manualRestart' und fragt native code nach, ein frisches WebView zu erstellen. |
addListener | Firing webViewRestoredAfterCrash oder webViewRestoredAfterRestart Wenn ein Hörer anhängt und ein passender Marker noch aussteht. |
removeAllListeners | Entfernt alle Plugin-Hörer. |
Konfigurationstyp
Abschnitt mit dem Titel ‘Konfigurationstyp’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 schreibenreason: 'manualRestart'. Speichern Sie ungespeicherte Daten, bevor Sie kurze Neustartschritte, Cron-Aufträge oder AufruferestartWebView(). restartCronverwendet 5-Felder-Cron-Syntax im Gerätezeitzone, zum Beispiel0 3 * * *für einen täglichen Neustart um 03:00 Uhr. Konfigurieren Sie nicht beide Schedules gleichzeitig: Die native Initialisierung wirft einen fatalen Konfigurationsfehler, wennrestartCronfestgelegt ist undrestartIntervalMsist größer als0.- ist. Auf Android-Geräten werden zusätzliche Felder wie
didCrashundrendererPriorityAtExitmöglicherweise verfügbar. - Auf iOS wird das Plugin aufgezeichnet,
appStatewenn der beendete WebView-Prozess beobachtet wird. Manuelle und geplante Neustarts bauen den Capacitor-Bridge-View neu, sodass ein neuerWKWebViewQuelle der Wahrheit
Quelle der Wahrheit
Diese Referenz wird von “Dieses Referenzdokument wird synchronisiert von src/definitions.ts in capacitor-webview-crash.
Weitermachen von @capgo/capacitor-webview-crash
Bereich mit dem Titel „Weitermachen von @capgo/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