@capgo/capacitor-webview-crash
Ikhtisar
Bagian berjudul “Ringkasan”Restart WebView yang crash secara native dan recycle WebView yang berjalan lama pada interval tetap
Mulai dengan getPendingCrashInfo() dan metode inti lainnya yang tercantum di bawah ini.
Dukungan platform
Bagian berjudul “Dukungan platform”| Platform | Dukungan | Catatan |
|---|---|---|
| iOS | Ya | Native |
| Android | Ya | Native |
| Web | Parsial | Lihat panduan memulai |
Kemampuan Utama
Bagian berjudul “Kemampuan Utama”- Restart crash Native - Me-restart WebView dari iOS atau Android saat proses renderer mati.
- Restart terjadwal - Melakukan recycle pada WebView yang berjalan lama menggunakan timer native
restartIntervalMsatau waktu real-timerestartCron. - Restart native manual - Memungkinkan JavaScript meminta WebView native baru dengan
restartWebView()tanpa melakukan reload halaman. - Konfigurasi Capacitor bertipe data - Mengekspos
WebViewCrashPluginConfiguntukplugins.WebViewCrashdicapacitor.config.ts. getPendingCrashInfo- Mengembalikan marker native crash atau restart yang tersimpan, ataunullsaat tidak ada yang tertunda.clearPendingCrashInfo- Menghapus marker yang tersimpan setelah app berhasil memulihkan state-nya.simulateCrashRecovery- Membuat fake crash marker agar flow recovery bisa dites secara lokal.addListener- MemicuwebViewRestoredAfterCrashuntuk crash marker danwebViewRestoredAfterRestartuntuk setiap native restart marker.
API Publik
Bagian berjudul “Public API”| Metode | Deskripsi |
|---|---|
getPendingCrashInfo | Mengembalikan marker crash atau restart native yang tersimpan, atau null saat tidak ada yang tertunda. |
clearPendingCrashInfo | Menghapus marker yang tersimpan setelah aplikasi memulihkan state-nya. |
simulateCrashRecovery | Membuat marker crash palsu agar alur recovery bisa diuji secara lokal. |
restartWebView | Menulis reason: 'manualRestart' dan meminta code native untuk membuat WebView baru. |
addListener | Memicu webViewRestoredAfterCrash atau webViewRestoredAfterRestart saat listener terpasang dan marker yang cocok masih tertunda. |
removeAllListeners | Menghapus semua plugin listener. |
Tipe Config
Bagian berjudul “Config Type”Plugin ini memperluas Capacitor dengan PluginsConfig entri konfigurasi WebViewCrash entri konfigurasi:
export interface WebViewCrashPluginConfig { restartOnCrash?: boolean; restartIntervalMs?: number; restartCron?: string; restartAfterCrashDelayMs?: number;}Catatan
Bagian berjudul “Notes”- Plugin ini mendeteksi pemulihan setelah WebView crash. Plugin ini tidak mencegah crash yang terjadi.
- Runtime JavaScript yang pulih adalah baru, jadi semua state in-memory dari WebView sebelumnya sudah hilang saat API ini dipicu.
- Restart terjadwal ditetapkan
reason: 'periodicRestart'; restart manual menulisreason: 'manualRestart'. Simpan state yang belum tersimpan sebelum mengaktifkan interval restart singkat, jadwal cron, atau memanggilrestartWebView(). restartCronmenggunakan sintaks cron 5-field dalam zona waktu lokal perangkat, contohnya0 3 * * *untuk restart harian pukul 03:00. Jangan konfigurasi kedua jadwal sekaligus: inisialisasi native akan memicu error konfigurasi fatal saatrestartCrondiatur danrestartIntervalMslebih besar dari0.- Pada Android, field tambahan seperti
didCrashdanrendererPriorityAtExitmungkin tersedia. - Pada iOS, plugin mencatat
appStatesaat proses WebView yang terhenti terdeteksi. Restart manual maupun terjadwal akan membangun ulang view bridge Capacitor sehinggaWKWebViewbaru akan dibuat.
Sumber Kebenaran
Bagian berjudul “Sumber Kebenaran”Referensi ini disinkronkan dari src/definitions.ts di capacitor-webview-crash.
Lanjut dari @capgo/capacitor-webview-crash
Bagian berjudul “Lanjut dari @capgo/capacitor-webview-crash”Jika Anda menggunakan @capgo/capacitor-webview-crash untuk merencanakan perilaku media dan antarmuka native, hubungkan dengan Menggunakan @capgo/capacitor-webview-crash untuk kapabilitas native di bagian Menggunakan @capgo/capacitor-webview-crash, Menggunakan @capgo/capacitor-live-activities untuk kemampuan native 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 native di Menggunakan @capgo/capacitor-video-player, dan @capgo/capacitor-video-player untuk detail implementasi di @capgo/capacitor-video-player.