Saltare alla navigazione

@capgo/capacitor-webview-crash

Recupero del 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 prossimo runtime JavaScript dopo che l'app si ripristina. Può anche riavviare il WebView dal code nativo dopo un crash, su un intervallo fissato, su un orario programmato o quando JavaScript richiede esplicitamente restartWebView()Che aiuta le applicazioni kiosk, POS, dashboard, scanner e segnali a evitare l'accumulo di memoria durante le sessioni di lunga durata.

  • Ripristino di crash nativo - Riavvia la WebView da iOS o Android quando il processo del renderer muore.
  • Ripristino programmato - Recicla le WebView di lunga durata utilizzando un timer nativo con restartIntervalMs o un orologio a muro restartCron.
  • Ripristino nativo manuale - Consente a JavaScript di richiedere una WebView nativa fresca senza restartWebView() senza eseguire un reload della pagina.
  • Configurazione di tipo Capacitor - Espone WebViewCrashPluginConfig per plugins.WebViewCrash in capacitor.config.ts.
  • getPendingCrashInfo - Restituisce il marker di crash o di ripristino nativo memorizzato, o null quando non c'è nulla in sospeso.
  • clearPendingCrashInfo - Cancella il marker memorizzato dopo che il tuo app ha ripristinato lo stato.
  • simulateCrashRecovery - Crea un marker di crash fittizio per poter testare localmente i flussi di recupero.
  • addListener - Rilascia webViewRestoredAfterCrash per i marker di crash webViewRestoredAfterRestart per qualsiasi marker di restart nativo.
MetodoDescrizione
getPendingCrashInfoRestituisce il marker di crash o di restart nativo memorizzato, o null quando non c'è nulla in sospeso.
clearPendingCrashInfoElimina il marker memorizzato dopo che il tuo app ha ripristinato lo stato.
simulateCrashRecoveryCrea un marker di crash fittizio per poter testare localmente i flussi di recupero.
restartWebViewScrive reason: 'manualRestart' e chiede al nativo code di creare una nuova vista web.
addListenerFiring webViewRestoredAfterCrash o webViewRestoredAfterRestart quando un ascoltatore si collega e un marker di corrispondenza è ancora in attesa.
removeAllListenersElimina tutti gli ascoltatori dei plugin.

Il plugin estende Capacitor’s PluginsConfig con un’entrata di configurazione di tipo WebViewCrash Copia nel portadocumenti

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 precedente WebView è già andato perso quando si attiva questo API.
  • Ripristino programmato scrive reason: 'periodicRestart'; ripristino manuale scrive reason: 'manualRestart'. Salvare lo stato non salvato prima di abilitare intervalli di ripristino 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 ripristino 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 potrebbe essere disponibile. rendererPriorityAtExit Su iOS, il plugin registra
  • quando il processo di WebView terminato viene osservato. I riavvii manuali e programmati ricostruiscono il ponte di visualizzazione __CAPGO_KEEP_0__ quindi un nuovo appState when the terminated WebView process is observed. Manual and scheduled restarts rebuild the Capacitor bridge view so a new WKWebView Fonte di Verità

Sezione 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.

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

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

If sei stai utilizzando @capgo/capacitor-webview-crash per pianificare il comportamento di media e interfaccia nativa, 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 per i dettagli di implementazione in @capgo/capacitor-player-video.