Sauter vers le contenu

@capgo/capacitor-crash-webview

Rétablissement automatique de la vue native, redémarrage manuel et recyclage programmé de la vue native pour les applications Capacitor longues durées.

Ce plugin stocke un marqueur natif lorsqu'une précédente Capacitor instance de WebView meurt ou est recyclée, puis expose ensuite ce marqueur au runtime JavaScript suivant après le redémarrage de l'application. Il peut également redémarrer la WebView à partir de la code native après une panne, à intervalles fixes, selon un calendrier de tâches ou lorsque JavaScript demande explicitement restartWebView(), qui aide les applications kiosque, POS, tableau de bord, scanner et de signalisation à éviter l’accumulation de mémoire pendant de longues sessions.

Section intitulée “Capacités de base”

Section titled “Core Capabilities”
  • Redémarrage de la vue native - Redémarre la vue native d'iOS ou Android lorsque le processus de rendu meurt.
  • Redémarrage manuel natif - Permet à JavaScript de demander une WebView native fraîche avec restartIntervalMs un mur horloger restartCron.
  • Redémarrage natif manuel - Demandez à JavaScript de redémarrer la vue native avec restartWebView() sans recharger la page.
  • Typé Capacitor config - Expose WebViewCrashPluginConfig pour plugins.WebViewCrash dans capacitor.config.ts.
  • getPendingCrashInfo - Renvoie le marqueur de crash ou de redémarrage natif stocké, ou null Rien n'est en attente.
  • clearPendingCrashInfo - Crée un marqueur de crash fictif afin de tester les flux de récupération localement.
  • simulateCrashRecovery Crée un marqueur de crash fictif afin de pouvoir tester les flux de récupération localement.
  • addListener - Fires webViewRestoredAfterCrash pour tout marqueur de redémarrage natif. webViewRestoredAfterRestart pour tout marqueur de redémarrage natif.
MéthodeDescription
getPendingCrashInfoRetourne le marqueur de crash ou de redémarrage natif stocké, ou null lorsqu'il n'y a rien en attente.
clearPendingCrashInfoEfface le marqueur stocké après que votre application ait restauré son état.
simulateCrashRecoveryCrée un marqueur de crash 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 instance de WebView.
addListenerDéclenche webViewRestoredAfterCrash ou webViewRestoredAfterRestart lorsqu'un écouteur s'attache et qu'un marqueur correspondant est toujours en attente.
removeAllListenersSupprime tous les écouteurs de plugin.

Le plugin complète les fonctionnalités de Capacitor. PluginsConfig une entrée de configuration typée : WebViewCrash Copier dans le presse-papiers

export interface WebViewCrashPluginConfig {
restartOnCrash?: boolean;
restartIntervalMs?: number;
restartCron?: string;
restartAfterCrashDelayMs?: number;
}
  • Ce plugin détecte la récupération après un crash de WebView. Il ne prévient pas le crash sous-jacent.
  • The recovered JavaScript runtime is new, so any in-memory state from the previous WebView is already gone when this API fires.
  • Redémarrages planifiés enregistrent reason: 'periodicRestart'; redémarrages manuels écrivent reason: 'manualRestart'Sauvegardez l'état non enregistré avant d'activer les intervalles de redémarrage courts, les plans de cron ou les appels. restartWebView().
  • restartCron utilise 5 champs de syntaxe cron sur l'heure locale du dispositif, par exemple 0 3 * * * pour un redémarrage quotidien à 03:00. N'configurez pas les deux plans à la fois : l'initialisation native lance une erreur de configuration mortelle lorsque restartCron est défini et restartIntervalMs est supérieur à 0.
  • Sur Android, d'autres champs supplémentaires comme didCrash et rendererPriorityAtExit peuvent être disponibles.
  • Sur iOS, le plugin enregistre appState lorsque le processus de WebView terminé est observé. Les redémarrages manuels et planifiés reconstruisent la vue de pont Capacitor afin qu'un nouveau WKWebView soit créé.

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-crash-webview pour planifier le comportement de médias et d'interface natifs, connectez-l’avec En utilisant @capgo/capacitor-webview-crash pour la capacité native dans En utilisant @capgo/capacitor-webview-crash, En utilisant @capgo/capacitor-activités en direct pour la capacité native dans En utilisant @capgo/capacitor-activités en direct @capgo/capacitor-activités en direct pour le détail d'implémentation dans @capgo/capacitor-activités en direct En utilisant @capgo/capacitor-joueur de vidéo pour la capacité native dans En utilisant @capgo/capacitor-joueur de vidéo, et @capgo/capacitor-joueur de vidéo pour le détail d'implémentation dans @capgo/capacitor-joueur de vidéo