Saltare al contenuto

@capgo/capacitor-webview-crash

Recupero di crash del WebView nativo, riavvio manuale e riciclaggio 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 prossimo runtime JavaScript dopo il ripristino dell'applicazione. Può anche riavviare il WebView da code nativo dopo un crash, con un intervallo fissato, su un orario cron, o quando JavaScript richiede esplicitamente restartWebView(), che aiuta gli app di tipo kiosk, POS, dashboard, scanner e segnali a evitare l'accumulo di memoria durante le sessioni lunghe.

  • Nuova riavviatura di crash - Riavvia il WebView da iOS o Android quando il processo del renderer muore.
  • Riavvio programmato - Ricicla i WebViews di lunga durata utilizzando un timer nativo con restartIntervalMs o un orologio a muro restartCron.
  • Riavvio nativo manuale - Consente al JavaScript di richiedere un WebView nativo fresco senza effettuare il caricamento di una nuova pagina. restartWebView() Configurazione di tipo __CAPGO_KEEP_0__ - Espone
  • Typed Capacitor config - Exposes WebViewCrashPluginConfig in plugins.WebViewCrash Ritorna il marker di crash o riavvio nativo memorizzato, o capacitor.config.ts.
  • getPendingCrashInfo quando non è presente alcun marker in attesa. null - Cancella il marker memorizzato dopo che il tuo'app ha ripristinato lo stato.
  • clearPendingCrashInfo - Cancella il marker memorizzato dopo che il tuo'app ha ripristinato lo stato.
  • simulateCrashRecovery - Crea un marker di crash fittizio per poter testare i flussi di recupero localmente.
  • addListener - Invia webViewRestoredAfterCrash per marker di crash e webViewRestoredAfterRestart per qualsiasi marker di restart nativo.
DescrizioneRestituisce il marker di crash o di restart nativo memorizzato, o
getPendingCrashInfoquando non c'è nulla in sospeso. null Svuota il marker memorizzato dopo che la tua app ha ripristinato lo stato.
clearPendingCrashInfoCrea un marker di crash fittizio per poter testare i flussi di recupero localmente.
simulateCrashRecoverySezione intitolata “Public __CAPGO_KEEP_0__”
restartWebViewScrive reason: 'manualRestart' e chiede al nativo code di creare una nuova WebView.
addListenerAccende webViewRestoredAfterCrash o webViewRestoredAfterRestart Quando un ascoltatore si attacca e un marker corrispondente è ancora in attesa.
removeAllListenersElimina tutti gli ascoltatori del plugin.

Il plugin integra Capacitor con un'ingresso di configurazione tipizzato: PluginsConfig Copia nel portapenne WebViewCrash Firing

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.
  • I restart programmati scrivono reason: 'periodicRestart'I restart manuali scrivono reason: 'manualRestart'. Salvare lo stato non salvato prima di abilitare intervalli di restart brevi, cronogrammi o chiamare restartWebView().
  • restartCron utilizzando la sintassi di cron a 5 campi nel fuso orario locale del dispositivo, ad esempio 0 3 * * * per un restart quotidiano alle 03:00. Non configurare entrambi i cronogrammi 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 e rendererPriorityAtExit potrebbe essere disponibile.
  • Sul 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à

Sottosezione intitolata “Fonte di Verità”

Questa referenza è sincronizzata da

in src/definitions.ts __CAPGO_KEEP_0__-webview-crash Continua da @capacitor/__CAPGO_KEEP_1__-webview-crash.

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

Section titled “Keep going from @capgo/capacitor-webview-crash”

Se stai utilizzando @capgo/capacitor-webview-crash per pianificare il comportamento dei media e dell'interfaccia nativi, connettilo con Utilizzando @capgo/capacitor-webview-crash per la capacità nativa in Utilizzando @capgo/capacitor-webview-crash Utilizzando @capgo/capacitor-live-activities per la capacità nativa in Utilizzando @capgo/capacitor-live-activities @capgo/capacitor-live-activities per il dettaglio di implementazione in @capgo/capacitor-live-activities Utilizzando @capgo/capacitor-video-player per la capacità nativa in Utilizzando @capgo/capacitor-video-player, e @capgo/capacitor-video-player {"targetLanguage":"Italian","pagePath":"/it/docs/plugins/webview-crash/","protectedTokens":["Cloudflare","Capacitor","GitHub","Capgo","code","API","SDK","CLI","npm","bun"],"items":[{"text":"per i dettagli di implementazione in @capgo/capacitor-player del video."},{"text":"Modifica pagina"}]}