Saltare al contenuto

@capgo/capacitor-crash del WebView

Recupero di crash del WebView nativo, riavvio manuale e riciclo programmato del WebView per applicazioni Capacitor di lunga durata.

Questo plugin memorizza un marker nativo quando il processo precedente Capacitor WebView muore o viene riciclato, quindi esporre quel marker al runtime JavaScript successivo dopo che l'app si ripristina. Può anche riavviare il WebView da code nativo dopo un crash, con un intervallo fissato, su un orario di programmazione o quando JavaScript richiede esplicitamente restartWebView()aiuta gli app di kiosk, POS, dashboard, scanner e segnalizzazione a evitare l'accumulo di memoria durante le sessioni prolungate.

  • Ripristino crash nativo - Ripristina la WebView da iOS o Android quando il processo di rendering muore.
  • Ripristino programmato - Recicla le WebView lunghe corse su un timer nativo utilizzando restartIntervalMs o un orologio di parete restartCron.
  • Riavvio nativo manuale - Richiedi a JavaScript un nuovo WebView nativo fresco con restartWebView() Configurazione __CAPGO_KEEP_0__ tipizzata - Espone
  • Configurato Capacitor - Espone WebViewCrashPluginConfig in plugins.WebViewCrash in capacitor.config.ts.
  • getPendingCrashInfo - Restituisce il marker di crash o riavvio nativo memorizzato, o null quando non ci sono attività in sospeso.
  • clearPendingCrashInfo - Crea un marker di crash falso per poter testare localmente i flussi di recupero.
  • simulateCrashRecovery Scheduled restart - Recycles long-running WebViews on a native timer using
  • addListener - Avvia webViewRestoredAfterCrash per marker di crash e webViewRestoredAfterRestart per qualsiasi marker di riavvio nativo.
DescrizioneDescription
getPendingCrashInfoRitorna il marker di crash o riavvio nativo memorizzato, o null quando non ci sono attività in sospeso.
clearPendingCrashInfoGenera un marker di crash falso per poter testare localmente i flussi di recupero.
simulateCrashRecoveryCrea un marker di crash fittizio per poter testare i flussi di ripristino localmente.
restartWebViewWrites reason: 'manualRestart' e chiede al nativo code di creare una nuova WebView.
addListenerFiring webViewRestoredAfterCrash o webViewRestoredAfterRestart quando un ascoltatore si attacca e un marker corrispondente è ancora in attesa.
removeAllListenersElimina tutti gli ascoltatori dei plugin.

Il plugin integra Capacitor’s PluginsConfig con una tipizzazione WebViewCrash impostazione di configurazione tipizzata:

export interface WebViewCrashPluginConfig {
restartOnCrash?: boolean;
restartIntervalMs?: number;
restartCron?: string;
restartAfterCrashDelayMs?: number;
}
  • Questo plugin rileva il recupero dopo un crash del WebView. Non prevene il crash sottostante.
  • Il runtime JavaScript recuperato è nuovo, quindi lo stato in memoria dal WebView precedente è già andato perduto quando si attiva questo API.
  • Ripristini programmati scrivono reason: 'periodicRestart'; ripristini manuali scrivono reason: 'manualRestart'Persista lo stato non salvato prima di abilitare intervalli di riavvio brevi, cronogrammi o chiamate restartWebView().
  • restartCron utilizza la sintassi cron a 5 campi nel fuso orario locale del dispositivo, ad esempio 0 3 * * * per un riavvio quotidiano alle 03:00. Non configurare entrambi gli orari contemporaneamente: l'inizializzazione nativa lancia un errore di configurazione fatale quando restartCron è impostato e restartIntervalMs è maggiore di 0.
  • Su Android, i campi aggiuntivi come didCrash e rendererPriorityAtExit potrebbe essere disponibile.
  • Su iOS, il plugin registra appState quando il processo di WebView terminato viene osservato. I riavvii manuali e programmati ricostruiscono il ponte di visualizzazione Capacitor per creare un nuovo WKWebView Fonte di Verità

Sezione intitolata “Fonte di Verità”

Questa referenza è sincronizzata da

Questa documentazione è sincronizzata da src/definitions.ts in capacitor-webview-crash.

Sezione intitolata “Continua da @capgo/capacitor-webview-crash”

Titolo della sezione “Continua da @capgo/capacitor-webview-crash”

Se stai utilizzando @capgo/capacitor-crash-webview per pianificare la media e il comportamento dell'interfaccia nativa, connettilo con Utilizzare @capgo/capacitor-crash-webview per la capacità nativa in Utilizzare @capgo/capacitor-crash-webview Utilizzare @capgo/capacitor-attività-vive per la capacità nativa in Utilizzare @capgo/capacitor-attività-vive @capgo/capacitor-attività-vive per il dettaglio di implementazione in @capgo/capacitor-attività-vive Utilizzare @capgo/capacitor-lettore-video per la capacità nativa in Utilizzare @capgo/capacitor-lettore-video, e @capgo/capacitor-lettore-video per il dettaglio di implementazione in @capgo/capacitor-lettore-video