Sauter vers le contenu

@capgo/capacitor-webview-crash

Récupération de la panne de WebView native, redémarrage manuel et recyclage planifié de WebView pour les applications Capacitor longues durées.

This plugin stores a native marker when the previous Capacitor WebView process dies or is recycled, then exposes that marker to the next JavaScript runtime after the app recovers. It can also restart the WebView from native code after a crash, on a fixed interval, on a cron schedule, or when JavaScript explicitly requests restartWebView()qui aide les applications kiosque, POS, tableau de bord, scanner et de signalisation à éviter la construction de mémoire pendant de longues sessions.

  • Redémarrage de la panne native - Redémarre la WebView à partir d'iOS ou d'Android lorsque le processus de rendu meurt.
  • Redémarrage planifié - Recycle les vues Web natives en cours pendant un certain temps en utilisant un horloge native ou un horloge de mur restartIntervalMs ou un horloge de mur restartCron.
  • Redémarrage natif manuel - Permet à JavaScript de demander une vue Web native fraîche sans faire recharger la page restartWebView() sans faire recharger la page
  • Configuration Capacitor saisie - Expose WebViewCrashPluginConfig pour plugins.WebViewCrash en capacitor.config.ts.
  • getPendingCrashInfo - Renvoie le marqueur de panne ou de redémarrage natif stocké, ou null lorsque rien n'est en attente.
  • clearPendingCrashInfo - Efface le marqueur stocké après que votre application ait restauré son état.
  • simulateCrashRecovery - Crée un marqueur de panne fictif pour tester les flux de récupération localement.
  • addListener - Déclenche webViewRestoredAfterCrash pour les marqueurs de crash et webViewRestoredAfterRestart pour tout marqueur de redémarrage natif.
MéthodeDescription
getPendingCrashInfoRenvoie 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 a 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 WebView.
addListenerIncendies webViewRestoredAfterCrash ou webViewRestoredAfterRestart lorsqu'un écouteur s'attache et un marqueur correspondant est toujours en attente.
removeAllListenersSupprime tous les écouteurs de plugin.

Le plugin augmente Capacitor’s PluginsConfig d'une entrée de configuration typée : WebViewCrash Copier dans le presse-papier

export interface WebViewCrashPluginConfig {
restartOnCrash?: boolean;
restartIntervalMs?: number;
restartCron?: string;
restartAfterCrashDelayMs?: number;
}

Sous-section intitulée “Remarques”

Lorsque le type de configuration est défini
  • Ce plugin détecte la récupération après une panne de la vue Web. Il ne prévient pas la panne sous-jacente.
  • 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 API se déclenche.
  • Redémarrages programmés écrivent reason: 'periodicRestart'Redémarrages manuels écrivent reason: 'manualRestart'Conservez l'état non enregistré avant d'activer des intervalles de redémarrage courts, des plans de cron ou des appels restartWebView().
  • restartCron Utilise la syntaxe de cron à 5 champs dans la zone horaire locale du dispositif, par exemple 0 3 * * * pour un redémarrage quotidien à 03:00. N'configurez pas les deux plans en même temps : 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 vue Web terminé est observé. Les redémarrages manuels et planifiés reconstruisent la vue de pont Capacitor afin qu'une nouvelle WKWebView Source De Vérité

Section intitulée “Source De Vérité”

Cette référence est synchronisée à partir de

dans src/definitions.ts __CAPGO_KEEP_0__-webview-crash Continuez à partir de @capacitor/__CAPGO_KEEP_1__-webview-crash.

Section intitulée “Continuez à partir de @capgo/capacitor-webview-crash”

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

@__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-webview-crash @capgo/capacitor-webview-crash pour planifier le comportement de médias et d'interface natifs, connectez-le à 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-video-player pour la capacité native dans En utilisant @capgo/capacitor-video-player, et @capgo/capacitor-video-player pour le détail d'implémentation dans @capgo/capacitor-video-player.