Présentation
Section intitulée « Présentation »This plugin stocke un marqueur natif lorsque le processus Capacitor WebView précédent meurt ou est recyclé, puis expose ensuite ce marqueur au runtime JavaScript suivant après le redémarrage de l'application. Il peut également redémarrer le WebView à partir du natif code après une panne, à intervalles fixes, selon un horaire planifié ou lorsque JavaScript le demande explicitement restartWebView()Cela aide les applications kiosque, POS, tableau de bord, scanner et de signalisation à éviter la buildup de mémoire pendant de longues sessions.
Capacités de base
Section intitulée « Capacités de base »- Redémarrage de panne natif - Redémarre le WebView à partir d'iOS ou d'Android lorsque le processus de rendu meurt.
- Redémarrage planifié - Recycle les WebViews longs en cours d'exécution à l'aide d'un horloge native
restartIntervalMsou d'une horloge muralerestartCron. - Redémarrage natif manuel - Permet à JavaScript de demander un WebView natif frais sans recharger la page.
restartWebView()Configuration __CAPGO_KEEP_0__ typée - Expose - Typed Capacitor config - Exposes
WebViewCrashPluginConfigenplugins.WebViewCrashCore Capabilitiescapacitor.config.ts. getPendingCrashInfo- Récupère le marqueur de crash ou de redémarrage natif stocké, ounulllorsqu'il n'y a rien en attente.clearPendingCrashInfo- Efface le marqueur stocké après que votre application ait restauré son état.simulateCrashRecovery- Crée un marqueur de crash fictif afin de tester les flux de récupération localement.addListener- DéclenchewebViewRestoredAfterCrashpour les marqueurs de crash etwebViewRestoredAfterRestartpour tout marqueur de redémarrage natif.
Public API
Section intitulée “Public API”| Méthode | Description |
|---|---|
getPendingCrashInfo | Récupère le marqueur de crash ou de redémarrage natif stocké, ou null lorsque rien n'est en attente. |
clearPendingCrashInfo | Supprime le marqueur stocké après que votre application ait restauré son état. |
simulateCrashRecovery | Crée un marqueur de panne fictif afin de tester les flux de récupération localement. |
restartWebView | Écrit reason: 'manualRestart' et demande au code natif de créer une nouvelle fenêtre WebView. |
addListener | Déclenche webViewRestoredAfterCrash ou webViewRestoredAfterRestart lorsqu'un écouteur s'attache et un marqueur correspondant est toujours en attente. |
removeAllListeners | Supprime tous les écouteurs de plugin. |
Type de configuration
Sous-section intitulée « Type de configuration »Le plugin augmente les fonctionnalités de Capacitor PluginsConfig avec un paramètre de configuration : WebViewCrash Copier dans le presse-papier
export interface WebViewCrashPluginConfig { restartOnCrash?: boolean; restartIntervalMs?: number; restartCron?: string; restartAfterCrashDelayMs?: number;}Section intitulée « Remarques »
Ce plugin détecte la récupération après un crash de la vue Web. Il ne prévient pas le crash sous-jacent.- Le runtime JavaScript récupéré est nouveau, donc tout l'état en mémoire de la vue Web précédente est déjà perdu lorsque cet événement __CAPGO_KEEP_0__ se déclenche.
- The recovered JavaScript runtime is new, so any in-memory state from the previous WebView is already gone when this API fires.
- ; redémarrage manuel écrit
reason: 'periodicRestart'Sauvegardez l'état non enregistré avant d'activer des intervalles de redémarrage courts, des plans horaires ou des appelsreason: 'manualRestart'utilise la syntaxe de 5 champs de plan horaire sur le dispositif dans la zone horaire locale, par exemplerestartWebView(). restartCronpour un redémarrage quotidien à 03:00. N'configurez pas les deux plans à la fois : l'initialisation native lance une erreur de configuration mortelle lorsque0 3 * * *N'configurez pas les deux plans à la fois : l'initialisation native lance une erreur de configuration mortelle lorsquerestartCronest défini etrestartIntervalMsest supérieur à0.- Sur Android, d'autres champs tels que
didCrashetrendererPriorityAtExitpeuvent être disponibles. - Sur iOS, le plugin enregistre
appStatelorsque le processus de WebView arrêté est observé. Les redémarrages manuels et planifiés reconstruisent la vue de pont Capacitor pour créer un nouveauWKWebViewest créé.
Source De Vérité
Section intitulée “Source De Vérité”Cette référence est synchronisée à partir de src/definitions.ts dans capacitor-webview-crash.
Continuez à partir de @capgo/capacitor-webview-crash
Section intitulée “Continuez à partir de @capgo/capacitor-webview-crash”Si vous utilisez @capgo/capacitor-webview-crash pour planifier le comportement de médias et d'interface natives, connectez-le avec En utilisant @capgo/capacitor-webview-crash pour la capacité native dans En utilisant @capgo/capacitor-webview-crash, En utilisant @capgo/capacitor-live-activities pour la capacité native dans En utilisant @capgo/capacitor-live-activities, @capgo/capacitor-live-activities pour le détail d'implémentation dans @capgo/capacitor-live-activities, En utilisant @capgo/capacitor-player vidéo natif pour la capacité native dans En utilisant @capgo/capacitor-player vidéo natif, et @capgo/capacitor-player vidéo natif pour le détail d'implémentation dans @capgo/capacitor-player vidéo natif.