Lompat ke Konten

@capgo/capacitor-webview-crash

Pengembalian kejadian crash WebView native, restart manual, dan pengumpulan kembali WebView yang direncanakan untuk aplikasi Capacitor yang berjalan lama.

Plugin ini menyimpan marker native ketika proses WebView sebelumnya Capacitor mati atau di-reuse, kemudian mengekspos marker tersebut ke runtime JavaScript setelah aplikasi pulih. Ini juga dapat memulai WebView dari native code setelah crash, pada interval tertentu, pada jadwal cron, atau ketika JavaScript meminta secara eksplisit restartWebView()Fungsi utama plugin ini adalah membantu aplikasi kiosk, POS, dashboard, scanner, dan aplikasi tanda yang menghindari pembangunan memori selama sesi panjang.

  • Mulai ulang crash native - Mengulangi WebView dari iOS atau Android ketika proses renderer mati.
  • Mulai ulang yang dijadwalkan - Mengganti WebViews yang berjalan lama menggunakan timer native dengan restartIntervalMs atau jam dinding restartCron.
  • Mulai ulang native manual - Mengizinkan JavaScript meminta WebView native segar tanpa restartWebView() tanpa melakukan reload halaman.
  • Konfigurasi Capacitor yang ditipekan - Mengungkapkan WebViewCrashPluginConfig untuk plugins.WebViewCrash dalam capacitor.config.ts.
  • getPendingCrashInfo - Mengembalikan marker crash atau restart native yang disimpan, atau null - Menghapus marker yang disimpan setelah aplikasi Anda telah memulihkan keadaan.
  • clearPendingCrashInfo __CAPGO_KEEP_0__
  • simulateCrashRecovery - Membuat marker kecelakaan palsu sehingga aliran pemulihan dapat diuji secara lokal.
  • addListener - Meluncurkan webViewRestoredAfterCrash untuk marker kecelakaan dan webViewRestoredAfterRestart untuk marker restart native apa pun.
MetodeDeskripsi
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.
restartWebViewMenulis reason: 'manualRestart' dan meminta code asli untuk membuat WebView segar.
addListenerMengeluarkan webViewRestoredAfterCrash atau webViewRestoredAfterRestart ketika seorang pendengar menambahkan dan tanda yang sesuai masih menunggu.
removeAllListenersMenghapus semua pendengar plugin.

Plugin ini memperluas Capacitor’s PluginsConfig dengan entri konfigurasi yang ditipekan: WebViewCrash Salin ke clipboard

export interface WebViewCrashPluginConfig {
restartOnCrash?: boolean;
restartIntervalMs?: number;
restartCron?: string;
restartAfterCrashDelayMs?: number;
}
  • 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 terjadi.
  • Jadwal restart menulis reason: 'periodicRestart'; restart manual menulis reason: 'manualRestart'. Simpan keadaan yang belum disimpan sebelum mengaktifkan interval restart singkat, jadwal cron, atau memanggil restartWebView().
  • restartCron menggunakan sintaks cron 5-field di zona waktu lokal perangkat, misalnya 0 3 * * * untuk restart harian pukul 03:00. Jangan konfigurasi kedua jadwal sekaligus: inisialisasi native akan melemparkan error konfigurasi fatal ketika restartCron diatur dan restartIntervalMs lebih besar dari 0.
  • Pada Android, bidang tambahan seperti didCrash dan mungkin tersedia. rendererPriorityAtExit Pada iOS, plugin merekam
  • ketika proses WebView yang dihentikan diamati. Restart manual dan yang dijadwalkan membangun kembali jembatan __CAPGO_KEEP_0__ view sehingga __CAPGO_KEEP_0__ baru appState when the terminated WebView process is observed. Manual and scheduled restarts rebuild the Capacitor bridge view so a new 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”

If 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 untuk detail implementasi di @capgo/capacitor-player video.