@capgo/capacitor-webview-crash
Panoramica
Sezione intitolata “Panoramica”Riavvia nativamente le WebView in crash e ricicla quelle di lunga durata a intervalli regolari
Inizia con getPendingCrashInfo() e gli altri metodi principali elencati qui sotto.
Supporto piattaforme
Sezione intitolata “Supporto piattaforme”| Piattaforma | Supporto | Note |
|---|---|---|
| iOS | Sì | Nativo |
| Android | Sì | Nativo |
| Web | Parziale | Vedi come iniziare |
Funzionalità principali
Sezione intitolata “Funzionalità principali”- Riavvio crash nativo - Riavvia la WebView da iOS o Android quando il processo di rendering termina.
- Riavvio pianificato - Ricicla le WebView attive da molto tempo tramite un timer nativo o
restartIntervalMsun orologio di sistemarestartCron. - Riavvio nativo manuale - Permette a JavaScript di richiedere una nuova WebView nativa
restartWebView()senza ricaricare la pagina. - Configurazione Capacitor tipizzata - Espone
WebViewCrashPluginConfigperplugins.WebViewCrashincapacitor.config.ts. getPendingCrashInfo- Restituisce il marker di crash nativo o di riavvio salvato, oppurenullquando non ci sono elementi in sospeso.clearPendingCrashInfo- Cancella il marker salvato dopo che l'app ha ripristinato il suo stato.simulateCrashRecovery- Crea un marker di crash fittizio per testare i flussi di recovery localmente.addListener- EseguewebViewRestoredAfterCrashper i marker di crash ewebViewRestoredAfterRestartper qualsiasi marker di riavvio nativo.
Pubblico API
Sezione intitolata “API pubblica”| Metodo | Descrizione |
|---|---|
getPendingCrashInfo | Restituisce il marker salvato di crash nativo o riavvio, oppure null quando non c'è nulla in sospeso. |
clearPendingCrashInfo | Cancella il marker salvato dopo che l'app ha ripristinato il suo stato. |
simulateCrashRecovery | Crea un marker di crash fittizio per testare i flussi di recovery localmente. |
restartWebView | Scrive reason: 'manualRestart' e chiede a code nativo di creare una nuova WebView. |
addListener | Emette webViewRestoredAfterCrash o webViewRestoredAfterRestart quando un listener si collega e un marker corrispondente è ancora in sospeso. |
removeAllListeners | Rimuove tutti i listener del plugin. |
Config Type
Sezione intitolata “Config Type”Il plugin aggiunge a Capacitor una PluginsConfig voce di configurazione WebViewCrash tipizzata:
export interface WebViewCrashPluginConfig { restartOnCrash?: boolean; restartIntervalMs?: number; restartCron?: string; restartAfterCrashDelayMs?: number;}- Questo plugin rileva il ripristino dopo un crash della WebView. Non previene il crash sottostante.
- Il runtime JavaScript ripristinato è nuovo, quindi qualsiasi stato in memoria della WebView precedente è già andato perduto quando viene attivato questo API.
- I riavvii pianificati scrivono
reason: 'periodicRestart'; i riavvii manuali scrivonoreason: 'manualRestart'Salva lo stato non salvato prima di abilitare intervalli di riavvio brevi, cron schedule o chiamaterestartWebView(). restartCronutilizza la sintassi cron a 5 campi nel fuso orario locale del dispositivo, ad esempio0 3 * * *per un riavvio giornaliero alle 03:00. Non configurare entrambe le pianificazioni insieme: l'inizializzazione nativa genera un errore di configurazione fatale quandorestartCronè impostato erestartIntervalMsè maggiore di0.- Su Android, potrebbero essere disponibili campi extra come
didCrasherendererPriorityAtExitpotrebbero essere disponibili. - Su iOS, il plugin registra
appStatequando viene rilevato il termine del processo WebView. I riavvii manuali o pianificati ricostruiscono la vista bridge di Capacitor per creare un nuovoWKWebViewviene creato.
Fonte di verità
Sezione intitolata “Fonte di verità”Questo riferimento è sincronizzato da src/definitions.ts in capacitor-webview-crash.
Continua da @capgo/capacitor-webview-crash
Sezione intitolata “Continua da @capgo/capacitor-webview-crash”Se stai usando @capgo/capacitor-webview-crash per pianificare il comportamento dei media nativi e dell'interfaccia, collegalo a Utilizzo di @capgo/capacitor-webview-crash per la funzionalità nativa in Utilizzo di @capgo/capacitor-webview-crash, Uso di @capgo/capacitor-live-activities per la funzionalità nativa nella pagina Uso di @capgo/capacitor-live-activities, @capgo/capacitor-live-activities per il dettaglio implementativo in @capgo/capacitor-live-activities, Uso di @capgo/capacitor-video-player per la funzionalità nativa nella pagina Uso di @capgo/capacitor-video-player, e @capgo/capacitor-video-player per il dettaglio implementativo in @capgo/capacitor-video-player.