Ringkasan
Bagian berjudul “Ringkasan”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 signage menghindari pembangunan memori selama sesi panjang.
Kemampuan Utama
Bagian berjudul “Kemampuan Utama”- Mulai kembali kecelakaan native - Mulai kembali WebView dari iOS atau Android ketika proses renderer mati.
- Mulai ulang yang dijadwalkan - Mengulangi tampilan Web yang berjalan lama menggunakan timer native dengan waktu
restartIntervalMsatau jam dindingrestartCron. - Pulihkan native manual - Mengizinkan JavaScript meminta tampilan WebView native yang segar dengan
restartWebView()tanpa melakukan reload halaman. - Konfigurasi Capacitor yang ditipe - Mengungkapkan
WebViewCrashPluginConfiguntukplugins.WebViewCrashdalamcapacitor.config.ts. getPendingCrashInfo- Mengembalikan marker kacau atau restart native yang disimpan, ataunullketika tidak ada yang menunggu.clearPendingCrashInfo- Membersihkan marker yang disimpan setelah aplikasi Anda telah memulihkan keadaan.simulateCrashRecovery- Membuat marker kacau palsu agar alur pemulihan dapat diuji secara lokal.addListener- MengaktifkanwebViewRestoredAfterCrashuntuk marker kecelakaan danwebViewRestoredAfterRestartuntuk marker restart asli.
Publik API
Judul Bagian “Publik API”| Metode | Deskripsi |
|---|---|
getPendingCrashInfo | Mengembalikan marker kecelakaan atau restart asli native yang disimpan, atau null ketika tidak ada yang menunggu. |
clearPendingCrashInfo | Menghapus marker yang disimpan setelah aplikasi Anda telah memulihkan keadaannya. |
simulateCrashRecovery | Membuat marker kecelakaan palsu agar alur pemulihan dapat diuji secara lokal. |
restartWebView | Menulis reason: 'manualRestart' dan meminta native code untuk membuat WebView yang segar. |
addListener | Api webViewRestoredAfterCrash atau webViewRestoredAfterRestart ketika seorang pendengar menempel dan sebuah marker yang sesuai masih menunggu. |
removeAllListeners | Menghapus semua pendengar plugin. |
Tipe Konfigurasi
Bagian berjudul “Tipe Konfigurasi”Plugin ini memperluas Capacitor’s PluginsConfig dengan sebuah entri konfigurasi yang ditipekan: WebViewCrash Salin ke clipboard
export interface WebViewCrashPluginConfig { restartOnCrash?: boolean; restartIntervalMs?: number; restartCron?: string; restartAfterCrashDelayMs?: number;}Bagian berjudul “Catatan”
Tipe Konfigurasi- Plugin ini mendeteksi pemulihan setelah crash WebView. Ini tidak mencegah crash dasar.
- Runtime JavaScript yang dipulihkan adalah baru, jadi semua keadaan di memori dari WebView sebelumnya sudah hilang ketika API ini dipicu.
- Jadwal restart menulis
reason: 'periodicRestart'Jadwal restart manual menulisreason: 'manualRestart'. Simpan keadaan yang belum disimpan sebelum mengaktifkan interval restart singkat, jadwal cron, atau memanggilrestartWebView(). restartCronMenggunakan sintaks cron 5-field di zona waktu lokal perangkat, misalnya0 3 * * *untuk restart harian pada pukul 03:00. Jangan konfigurasi kedua jadwal sekaligus: inisialisasi native akan melemparkan kesalahan konfigurasi fatal ketikarestartCrondiatur danrestartIntervalMslebih besar dari0.- Pada Android, field tambahan seperti
didCrashdanrendererPriorityAtExitmungkin tersedia. - Pada iOS, plugin ini merekam
appStateketika proses WebView yang dihentikan diamati. Restart manual dan yang dijadwalkan membangun kembali jembatan Capacitor view sehingga view baruWKWebViewdibuat.
Sumber Kebenaran
Bagian berjudul “Sumber Kebenaran”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 antarmuka asli, hubungkannya dengan Menggunakan @capgo/capacitor-webview-crash Untuk kemampuan asli dalam Menggunakan @capgo/capacitor-webview-crash, Menggunakan @capgo/capacitor-live-activities Untuk kemampuan asli dalam Menggunakan @capgo/capacitor-live-activities, @capgo/capacitor-live-activities Untuk detail implementasi dalam @capgo/capacitor-live-activities, Menggunakan @capgo/capacitor-video-player Untuk kemampuan asli dalam Menggunakan @capgo/capacitor-video-player, dan @capgo/capacitor-video-player Untuk detail implementasi dalam @capgo/capacitor-video-player.