Aller directement à la navigation

@capgo/capacitor-webview-crash

La récupération de panne de WebView native, le redémarrage manuel et la recyclage de WebView planifié pour les applications Capacitor longues en cours d'exécution.

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()Cela 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 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 restartIntervalMs Redémarrage manuel natif - Permet à JavaScript de demander un WebView natif frais avec restartCron.
  • sans effectuer un rechargement de page. restartWebView() __CAPGO_KEEP_1__
  • Configureur Capacitor typé - Expose WebViewCrashPluginConfig pour plugins.WebViewCrash en capacitor.config.ts.
  • getPendingCrashInfo - Renvoie le marqueur de crash ou de redémarrage natif stocké, ou null lorsqu'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é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.
clearPendingCrashInfoSupprime 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 à code natif de créer une WebView fraîche.
addListenerDéclenche webViewRestoredAfterCrash ou webViewRestoredAfterRestart lorsqu'un écouteur s'attache et un marqueur correspondant est toujours en attente.
removeAllListenersSupprime tous les écouteurs de plugin.

Le plugin complète Capacitor’s PluginsConfig avec une entrée de configuration typée : WebViewCrash Copier dans le presse-papier

export interface WebViewCrashPluginConfig {
restartOnCrash?: boolean;
restartIntervalMs?: number;
restartCron?: string;
restartAfterCrashDelayMs?: number;
}
  • Le runtime JavaScript récupéré est nouveau, donc tout l'état en mémoire de la WebView précédente est déjà perdu lorsque ce __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émarrages manuels écrivent reason: 'periodicRestart'__CAPGO_KEEP_0__ 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 la syntaxe de 5 champs de cron sur le dispositif dans la zone horaire locale, 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 sont 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 en 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 l'utilisation de @capgo/capacitor-activités-en-vive, @capgo/capacitor-activités-en-vive pour le détail d'implémentation dans @capgo/capacitor-activités-en-vive, l'utilisation de @capgo/capacitor-joueur-de-videos pour la capacité native dans l'utilisation de @capgo/capacitor-joueur-de-videos, et @capgo/capacitor-joueur-de-videos pour le détail d'implémentation dans @capgo/capacitor-joueur-de-videos.