@capgo/capacitor-webview-crash
Pandangan Umum
Bab yang berjudul “Pandangan Umum”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 papan menghindari pembangunan memori selama sesi panjang.
Kemampuan Utama
Bab yang berjudul “Kemampuan Utama”- Pulihkan kecelakaan native - Memulai kembali WebView dari iOS atau Android ketika proses renderer mati.
- Pulihkan yang direncanakan - Menguras WebViews yang berjalan lama menggunakan timer native menggunakan
restartIntervalMsatau jam dindingrestartCron. - Pulihkan manual native - Meninggalkan JavaScript meminta WebView native segar dengan
restartWebView()tanpa melakukan reload halaman. - Ditulis Capacitor konfigurasi - Mengungkapkan
WebViewCrashPluginConfiguntukplugins.WebViewCrashdicapacitor.config.ts. getPendingCrashInfo- Mengembalikan marker kejadian crash atau restart asli native, ataunullketika tidak ada yang menunggu.clearPendingCrashInfo- Membersihkan marker yang disimpan setelah aplikasi Anda telah memulihkan keadaan.simulateCrashRecovery- Membuat marker kejadian crash palsu agar alur pemulihan dapat diuji secara lokal.addListener- MembuatwebViewRestoredAfterCrashuntuk marker kejadian crash danwebViewRestoredAfterRestartuntuk marker restart native apa pun.
Publik API
Bagian berjudul “Publik API”| Metode | Deskripsi |
|---|---|
getPendingCrashInfo | Mengembalikan marker kejadian native crash 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 kejadian fake untuk menguji alur pemulihan secara lokal. |
restartWebView | Menulis reason: 'manualRestart' dan meminta native code untuk membuat WebView yang segar. |
addListener | Mengaktifkan webViewRestoredAfterCrash atau webViewRestoredAfterRestart ketika seorang pendengar menambahkan dan marker yang sesuai masih menunggu. |
removeAllListeners | Menghapus semua pendengar plugin. |
Tipe Konfigurasi
Judul Bagian “Tipe Konfigurasi”Plugin ini memperluas kemampuan Capacitor’s PluginsConfig dengan entri konfigurasi yang ditipekan: WebViewCrash Salin ke clipboard
export interface WebViewCrashPluginConfig { restartOnCrash?: boolean; restartIntervalMs?: number; restartCron?: string; restartAfterCrashDelayMs?: number;}Judul Bagian “Catatan”
Plugin ini mendeteksi pemulihan setelah crash WebView. Namun, plugin ini tidak mencegah crash dasar.- Runtime JavaScript yang dipulihkan adalah baru, sehingga semua keadaan dalam memori dari WebView sebelumnya sudah hilang ketika __CAPGO_KEEP_0__ ini dipicu.
- The recovered JavaScript runtime is new, so any in-memory state from the previous WebView is already gone when this API fires.
- ; restart manual menulis
reason: 'periodicRestart'Restart manual menulisreason: 'manualRestart'. Simpan keadaan yang belum disimpan sebelum mengaktifkan interval restart singkat, jadwal cron, atau panggilanrestartWebView(). restartCrongunakan sintaks cron 5-field di zona waktu lokal perangkat, misalnya0 3 * * *untuk restart harian pukul 03:00. Jangan konfigurasi kedua jadwal sekaligus: inisialisasi asli melemparkan kesalahan konfigurasi fatal ketikarestartCrondipasang danrestartIntervalMslebih besar dari0.- Pada Android, bidang tambahan seperti
didCrashdanrendererPriorityAtExitmungkin tersedia. - Pada iOS, plugin merekam
appStateketika proses WebView yang dihentikan diamati. Restart manual dan yang dijadwalkan membangun kembali jembatan Capacitor view sehingga Capacitor baru dibuat.WKWebViewSumber Kebenaran Utama
Referensi ini disinkronkan dari src/definitions.ts di capacitor-webview-crash.
Teruskan dari @capgo/capacitor-webview-crash
Bagian berjudul “Teruskan dari @capgo/capacitor-webview-crash”Jika Anda menggunakan @capgo/capacitor-webview-crash untuk merencanakan perilaku media dan interface native, hubungkannya dengan Menggunakan @capgo/capacitor-webview-crash untuk kemampuan native di Menggunakan @capgo/capacitor-webview-crash, Menggunakan @capgo/capacitor-live-activities untuk kemampuan asli di Menggunakan @capgo/capacitor-live-activities, @capgo/capacitor-live-activities untuk detail implementasi di @capgo/capacitor-live-activities, Menggunakan @capgo/capacitor-video-player untuk kemampuan asli di Menggunakan @capgo/capacitor-video-player, dan @capgo/capacitor-video-player untuk detail implementasi di @capgo/capacitor-video-player.