Lebih cepat ke konten

@capgo/capacitor-crash-webview

Pulihkan Crash Native WebView, Restart Manual, dan Pemulihan WebView yang Dijadwalkan untuk Aplikasi Capacitor yang Berjalan Lama

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(), yang membantu aplikasi kiosk, POS, dashboard, scanner, dan tanda-tanda menghindari pembangunan memori selama sesi panjang.

  • Pulihkan Crash Native - Memulai kembali WebView dari iOS atau Android ketika proses renderer mati.
  • Pulihkan Jadwal - Menguras WebViews yang berjalan lama menggunakan timer native dengan __CAPGO_KEEP_2__ restartIntervalMs atau jam dinding restartCron.
  • Restart Native Manual - Mengajukan JavaScript untuk WebView Native yang Segar dengan restartWebView() tanpa melakukan reload halaman.
  • Konfigurasi Tipe Capacitor - Mengungkapkan WebViewCrashPluginConfig untuk plugins.WebViewCrash dalam capacitor.config.ts.
  • getPendingCrashInfo - Mengembalikan marker kacau native atau restart yang disimpan, atau null ketika tidak ada yang menunggu.
  • clearPendingCrashInfo - Membersihkan marker yang disimpan setelah aplikasi Anda telah memulihkan keadaannya.
  • simulateCrashRecovery - Membuat marker kacau palsu sehingga alur pemulihan dapat diuji secara lokal.
  • addListener - Mengaktifkan webViewRestoredAfterCrash untuk marker kacau dan webViewRestoredAfterRestart untuk marker restart native apa pun.
MethodeDeskripsi
getPendingCrashInfoMengembalikan marker kejadian native yang disimpan, atau null ketika tidak ada yang menunggu.
clearPendingCrashInfoMenghapus marker yang disimpan setelah aplikasi Anda telah memulihkan keadaannya.
simulateCrashRecoveryMembuat marker kejadian palsu untuk menguji alur pemulihan secara lokal.
restartWebViewMenggunakan reason: 'manualRestart' Menggunakan dan meminta native code untuk membuat WebView yang segar.
addListenerMengaktifkan webViewRestoredAfterCrash or webViewRestoredAfterRestart ketika seorang pendengar menempel dan marker yang sesuai masih menunggu.
removeAllListenersHapus semua pendengar plugin.

Plugin ini memperluas Capacitor’s PluginsConfig dengan entri konfigurasi yang ditipekan: WebViewCrash Salin ke papan klip

export interface WebViewCrashPluginConfig {
restartOnCrash?: boolean;
restartIntervalMs?: number;
restartCron?: string;
restartAfterCrashDelayMs?: number;
}
  • Plugin ini mendeteksi pemulihan setelah crash WebView. Tidak mencegah crash dasar.
  • Runtime JavaScript yang ditemukan kembali adalah baru, sehingga semua keadaan di memori dari WebView sebelumnya sudah hilang ketika API ini dipicu.
  • Restart jadwal menulis reason: 'periodicRestart'; restart manual menulis reason: 'manualRestart'. Simpan keadaan tidak disimpan sebelum mengaktifkan interval restart singkat, jadwal cron, atau memanggil restartWebView().
  • restartCron menggunakan sintaks cron 5-kolom di zona waktu lokal perangkat, misalnya 0 3 * * * untuk restart harian pukul 03:00. Jangan konfigurasi kedua jadwal sekaligus: inisialisasi native melemparkan kesalahan konfigurasi fatal ketika restartCron diatur dan restartIntervalMs lebih besar dari 0.
  • Pada Android, bidang tambahan seperti didCrash dan rendererPriorityAtExit mungkin tersedia
  • Pada iOS, plugin ini merekam appState ketika proses WebView yang dihentikan diamati. Restart manual dan yang dijadwalkan membangun kembali jembatan Capacitor view sehingga dapat dibuat yang baru WKWebView tercipta.

Referensi ini disinkronkan dari src/definitions.ts dalam capacitor-webview-crash.

Teruskan dari @capgo/capacitor-webview-crash

Bab berjudul “Teruskan dari @capgo/capacitor-webview-crash”

Jika Anda menggunakan @capgo/capacitor-crash-webview untuk merencanakan perilaku media asli dan antarmuka, hubungkannya dengan Menggunakan @capgo/capacitor-webview-crash untuk kemampuan asli dalam Menggunakan @capgo/capacitor-webview-crash, Menggunakan @capgo/capacitor-aktivitas-hidup untuk kemampuan asli dalam Menggunakan @capgo/capacitor-aktivitas-hidup @capgo/capacitor-aktivitas-hidup untuk detail implementasi dalam @capgo/capacitor-aktivitas-hidup Menggunakan @capgo/capacitor-pemain-video untuk kemampuan asli dalam Menggunakan @capgo/capacitor-pemain-video, dan @capgo/capacitor-pemain-video untuk detail implementasi dalam @capgo/capacitor-pemain-video