Passer à la navigation

@capgo/capacitor-webview-crash

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

Cet plugin stocke un marqueur natif lorsqu'il s'agit de la précédente Capacitor processus WebView meurt ou est recyclé, puis expose ensuite ce marqueur à la prochaine runtime JavaScript après la récupération 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 la construction de mémoire pendant de longues sessions.

  • Redémarrage de la fenêtre native - Redémarre la fenêtre WebView à partir d'iOS ou d'Android lorsque le processus de rendu meurt.
  • Redémarrage planifié - Recycle les fenêtres Web longues en cours d'exécution à l'aide d'un horloge native avec restartIntervalMs ou un horloge de mur restartCron.
  • Redémarrage manuel de la fenêtre native - Permet au JavaScript de demander une fenêtre WebView 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 redémarrage ou de panne native stocké, ou capacitor.config.ts.
  • getPendingCrashInfo lorsqu'il n'y a rien en attente. null - Efface le marqueur stocké après que votre application ait restauré son état.
  • clearPendingCrashInfo Manual native restart - Lets JavaScript request a fresh native WebView with __CAPGO_KEEP_1__ without doing a page reload.
  • 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.

Section intitulée “Public API”

Section titled “Public API”
DescriptionRenvoie le marqueur de crash ou de redémarrage natif stocké, ou
getPendingCrashInfolorsque rien n'est 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.
simulateCrashRecoveryPublic __CAPGO_KEEP_0__
restartWebViewEcrits reason: 'manualRestart' et demande à code natif de créer une nouvelle fenêtre WebView.
addListenerEnflamme 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 utilise une syntaxe de 5 champs pour les plans horaires, 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, les champs supplémentaires 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

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-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 {"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"}]}