Lompat ke konten

@capgo/capacitor-webview-crash

Pengulangan kembali crash WebView native, restart manual, dan pengumpulan WebView yang direncanakan 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.

  • Restart crash native - Menghidupkan kembali WebView dari iOS atau Android ketika proses renderer mati.
  • Pemulihan yang dijadwalkan - Mengganti WebViews yang berjalan lama secara otomatis menggunakan timer native dengan restartIntervalMs atau jam dinding restartCron.
  • Pemulihan native manual - Mengizinkan JavaScript meminta WebView native segar tanpa melakukan reload halaman. restartWebView() Konfigurasi __CAPGO_KEEP_0__ yang ditipe - Mengungkapkan
  • Typed Capacitor config - Exposes WebViewCrashPluginConfig dalam plugins.WebViewCrash - Mengembalikan marker crash atau restart native yang disimpan, atau capacitor.config.ts.
  • getPendingCrashInfo ketika tidak ada yang menunggu. null - Membersihkan marker yang disimpan setelah aplikasi Anda telah memulihkan keadaannya.
  • clearPendingCrashInfo - Clears the stored marker after your app has restored its state.
  • simulateCrashRecovery - Membuat marker kecelakaan palsu sehingga aliran pemulihan dapat diuji secara lokal.
  • addListener - Mengeluarkan webViewRestoredAfterCrash - untuk marker kecelakaan dan webViewRestoredAfterRestart - untuk marker restart native apa pun.
MethodeDeskripsi
getPendingCrashInfoMengembalikan marker kecelakaan native yang disimpan, atau null - ketika tidak ada yang menunggu.
clearPendingCrashInfoMenghapus marker yang disimpan setelah aplikasi Anda telah memulihkan keadaan.
simulateCrashRecoveryMembuat marker kecelakaan palsu sehingga aliran pemulihan dapat diuji secara lokal.
restartWebViewMenghasilkan reason: 'manualRestart' dan meminta native code untuk membuat WebView yang segar.
addListenerMengaktifkan webViewRestoredAfterCrash atau webViewRestoredAfterRestart ketika seorang pendengar menambahkan dan sebuah marker yang sesuai masih menunggu.
removeAllListenersMenghapus semua pendengar plugin.

Plugin ini memperluas Capacitor’s PluginsConfig dengan sebuah entri konfigurasi yang ditipekan: WebViewCrash Menggunakan Ctrl+C untuk menyalin

export interface WebViewCrashPluginConfig {
restartOnCrash?: boolean;
restartIntervalMs?: number;
restartCron?: string;
restartAfterCrashDelayMs?: number;
}
  • Plugin ini mendeteksi pemulihan setelah crash WebView. Ini tidak mencegah crash yang tersembunyi.
  • Runtime JavaScript yang diperoleh setelah crash adalah baru, sehingga semua keadaan di memori dari WebView sebelumnya sudah hilang ketika API ini dipicu.
  • Restart yang dijadwalkan menulis reason: 'periodicRestart'; restart manual menulis reason: 'manualRestart'. Simpan keadaan yang belum disimpan sebelum mengaktifkan interval restart singkat, jadwal cron, atau memanggil restartWebView().
  • restartCron gunakan sintaks cron 5-kolom di zona waktu lokal perangkat, misalnya 0 3 * * * untuk restart harian pada pukul 03:00. Jangan konfigurasi kedua jadwal sekaligus: inisialisasi native akan 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 WKWebView Sumber Kebenaran

Bab berjudul “Sumber Kebenaran”

Referensi ini disinkronkan dari

dalam src/definitions.ts __CAPGO_KEEP_0__-webview-crash Teruskan dari @capacitor/__CAPGO_KEEP_1__-webview-crash.

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

Section titled “Keep going from @capgo/capacitor-webview-crash”

Jika Anda menggunakan @capgo/capacitor-webview-crash untuk merencanakan perilaku media dan antarmuka native, hubungkannya dengan Menggunakan @capgo/capacitor-webview-crash untuk kemampuan native di 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 {"targetLanguage":"Indonesian","pagePath":"/id/docs/plugins/webview-crash/","protectedTokens":["Cloudflare","Capacitor","GitHub","Capgo","code","API","SDK","CLI","npm","bun"],"items":[{"text":"untuk detail implementasi di @capgo/capacitor-player video."},{"text":"Edit halaman"}]}