Aller directement au contenu

@capgo/capacitor-webview-crash

Rétablissement automatique de la vue native, redémarrage manuel et recyclage programmé de la vue native 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(), ce qui aide les applications kiosque, POS, tableau de bord, scanner et de signalisation à éviter l'accumulation de mémoire pendant de longues sessions.

  • Redémarrage de la panne native - Redémarre la vue Web à partir d'iOS ou d'Android lorsque le processus de rendu meurt.
  • Redémarrage planifié - Recycle les vues Web longues en cours sur un horloge natif en utilisant restartIntervalMs ou un cadran murale restartCron.
  • Redémarrage natif manuel - Permet au JavaScript de demander une vue Web native fraîche sans faire recharger la page. restartWebView() Configuration de type __CAPGO_KEEP_0__ - Expose
  • Typed Capacitor config - Exposes WebViewCrashPluginConfig en plugins.WebViewCrash - Renvoie le marqueur de panne ou de redémarrage natif stocké, ou capacitor.config.ts.
  • getPendingCrashInfo lorsque rien n'est en attente. null - Efface le marqueur stocké après que votre application ait restauré son état.
  • clearPendingCrashInfo Section titled “Capacités de base”
  • 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.
DescriptionRenvoie le marqueur de crash ou de redémarrage natif stocké, ou
getPendingCrashInfolorsqu'il n'y a rien en attente. null Efface le marqueur stocké après que votre application ait restauré son état.
clearPendingCrashInfoCrée un marqueur de crash fictif afin de tester les flux de récupération localement.
simulateCrashRecoverySection titled “Public __CAPGO_KEEP_0__”
restartWebViewEcrits reason: 'manualRestart' et demande à code natif de créer une WebView fraîche.
addListenerDéclenchent webViewRestoredAfterCrash ou webViewRestoredAfterRestart Quand un écouteur s'attache et un marqueur correspondant est toujours en attente.
removeAllListenersSupprime tous les écouteurs de plugin.

Le plugin augmente 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;
}
  • 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 programmés écrivent reason: 'periodicRestart'; redémarrages manuels écrivent reason: 'manualRestart'. Enregistrez l'état non sauvegardé avant d'activer les intervalles de redémarrage courts, les plans horaires, ou d'appeler restartWebView().
  • restartCron utilisez la syntaxe de 5 champs de plan horaire localisé sur le 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 comme didCrash et rendererPriorityAtExit peut être disponible.
  • Sur iOS, le plugin enregistre appState lorsque le processus de WebView arrêté est observé. Les redémarrages manuels et planifiés reconstruisent la vue de pont Capacitor afin qu'une nouvelle WKWebView Source De Vérité

Sous-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.

Sous-section intitulée « Continuez à partir de @capgo/capacitor-webview-crash »

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

Si vous utilisez @capgo/capacitor-webview-crash 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-live-activités pour la capacité native dans En utilisant @capgo/capacitor-live-activités @capgo/capacitor-live-activités pour le détail d'implémentation dans @capgo/capacitor-live-activités En utilisant @capgo/capacitor-lecteur de vidéo pour la capacité native dans En utilisant @capgo/capacitor-lecteur de vidéo, et @capgo/capacitor-lecteur de vidéo {"targetLanguage":"French","pagePath":"/fr/docs/plugins/webview-crash/","protectedTokens":["Cloudflare","Capacitor","GitHub","Capgo","code","API","SDK","CLI","npm","bun"],"items":[{"text":"Pour les détails d\u2019implémentation dans @capgo/capacitor-player vidéo."},{"text":"Éditer la page"}]}