Übersicht
Überschrift ‘Übersicht’Dieser Plugin speichert einen nativen Marker, wenn das vorherige Capacitor WebView-Prozess stirbt oder recycelt wird, und stellt dann diesen Marker der nächsten JavaScript-Ausführung nach der Wiederherstellung der App zur Verfügung. 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(), was Kiosk-, POS-, Dashboard-, Scanner- und Signage-Apps dabei hilft, während langen Sitzungen eine Speicheraufstockung zu vermeiden.
Kernfunktionen von Capgo
Abschnitt mit dem Titel “Kernfunktionen”- Nativcrash-Neustart - Neustart der WebView von iOS oder Android, wenn das Renderer-Prozess abstürzt
- Geplantes Neustart - Recycelt lang laufende WebViews auf einem nativen Timer mit
restartIntervalMsoder einer UhrrestartCron. - Manueller nativer Neustart - Lässt JavaScript einen frischen nativen WebView anfordern, ohne eine Seite neu zu laden
restartWebView()Typierte __CAPGO_KEEP_0__-Konfiguration - Exponiert - Typed Capacitor config - Exposes
WebViewCrashPluginConfiginplugins.WebViewCrash- Gibt den gespeicherten nativen Crash- oder Neustartmarker zurück, odercapacitor.config.ts. getPendingCrashInfowenn nichts ansteht.null- Löschet den gespeicherten Marker, nachdem Ihre App ihren Zustand wiederhergestellt hat.clearPendingCrashInfo- Clears the stored marker after your app has restored its state.simulateCrashRecovery- Erstellt einen fiktiven Crashmarker, damit Recovery-Flows lokal getestet werden können.addListener- AuslöstwebViewRestoredAfterCrash- für Crashmarker undwebViewRestoredAfterRestart- für jeden native Restartmarker.
Öffentliche API
Abschnitt mit dem Titel “Öffentliche API”| Methode | Beschreibung |
|---|---|
getPendingCrashInfo | Gibt den gespeicherten native Crash- oder Restartmarker zurück, oder null wenn nichts ansteht. |
clearPendingCrashInfo | Löscht den gespeicherten Marker nachdem Ihre App ihren Zustand wiederhergestellt hat. |
simulateCrashRecovery | Erstellt einen fiktiven Crashmarker, damit Recovery-Flows lokal getestet werden können. |
restartWebView | Schreibt reason: 'manualRestart' und fragt native code nach, ein frisches WebView zu erstellen. |
addListener | Auslöst webViewRestoredAfterCrash oder webViewRestoredAfterRestart wenn ein Listener anhängt und ein passender Marker noch ausstehend ist. |
removeAllListeners | Entfernt alle Plugin-Listener. |
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.
- Der wiederhergestellte JavaScript-Interpreter ist neu, daher ist der gesamte in-Memory-Zustand des vorherigen WebViews bereits verschwunden, wenn dieser API ausgelöst wird.
- Geplante Neustarts schreiben
reason: 'periodicRestart'; manuelle Neustarts schreibenreason: 'manualRestart'. Speichern Sie ungelesene Daten, bevor Sie kurze Neustartschritte, Cron-Aufträge oder die AufruferestartWebView(). restartCronverwenden, die 5-Felder-Cron-Syntax in der Gerätezeitzone verwenden, 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 undrestartIntervalMsgrößer als0.- Bei Android-Geräten werden zusätzliche Felder wie
didCrashundrendererPriorityAtExitmöglicherweise verfügbar. - Auf iOS wird der Plugin die
appStatewenn das beendete WebView-Prozess beobachtet wird. Manuelle und geplante Neustarts bauen die Capacitor-Brückensicht so um, dass ein neuerWKWebViewQuelle der Wahrheit
Abschnitt mit dem Titel “Quelle der Wahrheit”
Diese Referenz wird vonin src/definitions.ts __CAPGO_KEEP_0__-webview-crash Weitergehen von @capacitor/__CAPGO_KEEP_1__-webview-crash.
Abschnitt mit dem Titel “Weitergehen von @capgo/capacitor-webview-crash”
Section titled “Keep going from @capgo/capacitor-webview-crash”Wenn Sie @capgo/capacitor-webview-crash zum Planen der nativen Medien- und Schnittstellenverhalten zu verwenden, verbinden Sie es mit Mit @capgo/capacitor-webview-crash für die nativen Fähigkeiten in Mit @capgo/capacitor-webview-crash, Mit @capgo/capacitor-live-activities für die nativen Fähigkeiten in Mit @capgo/capacitor-live-activities, @capgo/capacitor-live-activities für die Implementierungsdetails in @capgo/capacitor-live-activities, Mit @capgo/capacitor-video-player für die nativen Fähigkeiten in Mit @capgo/capacitor-video-player, und @capgo/capacitor-video-player {"targetLanguage":"German","pagePath":"/de/docs/plugins/webview-crash/","protectedTokens":["Cloudflare","Capacitor","GitHub","Capgo","code","API","SDK","CLI","npm","bun"],"items":[{"text":"für die Implementierungsdetails in @capgo/capacitor-Video-Player."},{"text":"Seite bearbeiten"}]}