Lompat ke Konten

@capgo/capacitor-webview-crash

Pengembalian Crash WebView Native, restart manual, dan pengolahan 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 papan menghindari pembangunan memori selama sesi panjang.

  • 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 restartIntervalMs atau jam dinding restartCron.
  • Pulihkan manual native - Meninggalkan JavaScript meminta WebView native segar dengan restartWebView() tanpa melakukan reload halaman.
  • Ditulis Capacitor konfigurasi - Mengungkapkan WebViewCrashPluginConfig untuk plugins.WebViewCrash di capacitor.config.ts.
  • getPendingCrashInfo - Mengembalikan marker kejadian crash atau restart asli native, atau null ketika 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 - Membuat webViewRestoredAfterCrash untuk marker kejadian crash dan webViewRestoredAfterRestart untuk marker restart native apa pun.
MetodeDeskripsi
getPendingCrashInfoMengembalikan marker kejadian native crash atau restart yang disimpan, atau null ketika tidak ada yang menunggu.
clearPendingCrashInfoMembersihkan marker yang disimpan setelah aplikasi Anda telah memulihkan keadaannya.
simulateCrashRecoveryMembuat marker kejadian fake untuk menguji alur pemulihan secara lokal.
restartWebViewMenulis reason: 'manualRestart' dan meminta native code untuk membuat WebView yang segar.
addListenerMengaktifkan webViewRestoredAfterCrash atau webViewRestoredAfterRestart ketika seorang pendengar menambahkan dan marker yang sesuai masih menunggu.
removeAllListenersMenghapus semua pendengar plugin.

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;
}
  • 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 menulis reason: 'manualRestart'. Simpan keadaan yang belum disimpan sebelum mengaktifkan interval restart singkat, jadwal cron, atau panggilan restartWebView().
  • restartCron gunakan sintaks cron 5-field di zona waktu lokal perangkat, misalnya 0 3 * * * untuk restart harian pukul 03:00. Jangan konfigurasi kedua jadwal sekaligus: inisialisasi asli melemparkan kesalahan konfigurasi fatal ketika restartCron dipasang dan restartIntervalMs lebih besar dari 0.
  • Pada Android, bidang tambahan seperti didCrash dan rendererPriorityAtExit mungkin tersedia.
  • Pada iOS, plugin merekam appState ketika proses WebView yang dihentikan diamati. Restart manual dan yang dijadwalkan membangun kembali jembatan Capacitor view sehingga Capacitor baru dibuat. WKWebView Sumber 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.