Saltare alla navigazione principale

@capgo/capacitor-webview-crash

Crash del WebView nativo, riavvio manuale e riciclo programmato del WebView per applicazioni Capacitor in esecuzione lunga.

Questo plugin memorizza un marker nativo quando il processo precedente del WebView Capacitor muore o viene riciclato, quindi esporre quel marker al runtime JavaScript successivo dopo il ripristino dell'applicazione. 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 lunghe.

  • Riavvio di crash nativo - Riavvia il WebView da iOS o Android quando il processo di rendering muore.
  • Riavvio programmato - Ricicla i WebViews in esecuzione lunga con un timer nativo utilizzando restartIntervalMs o un orologio da parete restartCron.
  • Riavvio nativo manuale - Richiede a JavaScript un nuovo WebView nativo fresco con restartWebView() senza eseguire un reload della pagina.
  • Configurazione Capacitor di tipo testo - Espone WebViewCrashPluginConfig per plugins.WebViewCrash in capacitor.config.ts.
  • getPendingCrashInfo - Restituisce il marker di crash o riavvio nativo memorizzato, o null quando non c'è nulla in sospeso.
  • clearPendingCrashInfo - Cancella il marker memorizzato dopo che la tua app ha ripristinato lo stato.
  • simulateCrashRecovery - Crea un marker di crash falso per poter testare i flussi di recupero localmente.
  • addListener - Innescare webViewRestoredAfterCrash per marker di crash webViewRestoredAfterRestart per qualsiasi marker di riavvio nativo.
MetodoDescrizione
getPendingCrashInfoRestituisce il marker di crash o riavvio nativo memorizzato, o null quando non c'è nulla in sospeso.
clearPendingCrashInfoCancella il marker memorizzato dopo che l'app ha ripristinato lo stato.
simulateCrashRecoveryCrea un marker di crash falso per poter testare localmente i flussi di recupero.
restartWebViewScrive reason: 'manualRestart' e chiede al nativo code di creare una WebView fresca.
addListenerFaccia partire webViewRestoredAfterCrash o webViewRestoredAfterRestart quando un ascoltatore si collega e un marker corrispondente è ancora in attesa.
removeAllListenersElimina tutti gli ascoltatori dei plugin.

Il plugin integra Capacitor’s PluginsConfig con un’entrata di configurazione a tipo WebViewCrash configurazione:

export interface WebViewCrashPluginConfig {
restartOnCrash?: boolean;
restartIntervalMs?: number;
restartCron?: string;
restartAfterCrashDelayMs?: number;
}
  • Questo plugin rileva la ripresa 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 perduto quando si attiva questo API.
  • Ripristini programmati scrivono reason: 'periodicRestart'; ripristini manuali scrivono reason: 'manualRestart'. Salva 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, possono essere disponibili campi aggiuntivi come didCrash e rendererPriorityAtExit Su iOS, il plugin registra
  • On Android, extra fields such as __CAPGO_KEEP_0__ and __CAPGO_KEEP_1__ may be available. appState quando il processo di WebView terminato viene osservato. I riavvii manuali e programmati ricostruiscono la Capacitor ponte di visualizzazione per creare un nuovo WKWebView è creato.

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

Se stai utilizzando @capgo/capacitor-webview-crash per pianificare il comportamento nativo dei media e dell'interfaccia, connettilo con Utilizzando @capgo/capacitor-webview-crash per la capacità nativa in Utilizzando @capgo/capacitor-webview-crash, 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, Utilizzando @capgo/capacitor-live-activities per la capacità nativa in Utilizzando @capgo/capacitor-live-activities, @capgo/capacitor-live-activities per la 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 la dettaglio di implementazione in @capgo/capacitor-video-player. for the native capability in Using @capgo/capacitor-video-player, and @capgo/capacitor-video-player for the implementation detail in @capgo/capacitor-video-player.