Empezar
Copiar un prompt de configuración con los pasos de instalación y la guía de markdown completa para este plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-webview-crash`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/webview-crash/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Instalar
Sección titulada “Instalar”bun add @capgo/capacitor-webview-crashbunx cap syncImportar
Sección titulada “Importar”import { WebViewCrash } from '@capgo/capacitor-webview-crash';Flujo de recuperación recomendado
Sección titulada “Flujo de recuperación recomendado”Atáchale el escuchador lo antes posible en el arranque de tu aplicación para que el runtime recuperado pueda reaccionar antes de que los usuarios continúen navegando:
import { WebViewCrash } from '@capgo/capacitor-webview-crash';
await WebViewCrash.addListener('webViewRestoredAfterCrash', async (info) => { console.log('Recovered after a WebView crash', info);
// Rehydrate critical state, reopen the correct screen, or prompt the user to retry. await WebViewCrash.clearPendingCrashInfo();});
const pending = await WebViewCrash.getPendingCrashInfo();// Note: the listener callback may have already cleared the pending marker.if (pending.value) { console.log('Pending crash marker', pending.value);}API visión general
Sección titulada “API visión general”getPendingCrashInfo
Sección titulada “obtener información de crash pendiente”Devuelve el marcador de crash nativo almacenado, o null cuando no hay nada pendiente.
const pending = await WebViewCrash.getPendingCrashInfo();if (pending.value) { console.log(pending.value.platform, pending.value.reason);}clearPendingCrashInfo
Sección titulada “borrar información de crash pendiente”Elimina el marcador de crash almacenado después de que haya terminado su manejo de recuperación.
await WebViewCrash.clearPendingCrashInfo();simulateCrashRecovery
Sección titulada “simular recuperación de crash”Crea un marcador de crash falso para que QA y depuración local puedan ejercer el camino de recuperación sin hacer crash en un WebView real.
const simulated = await WebViewCrash.simulateCrashRecovery();console.log(simulated.value);Notas de plataforma
Sección titulada “Notas de plataforma”- Android almacena metadatos de errores desde
onRenderProcessGone, incluyendodidCrashy cuando la plataforma los proporciona.rendererPriorityAtExitiOS almacena metadatos de errores desde - y agrega el estado de la aplicación actual cuando esté disponible.
webViewWebContentProcessDidTerminateLa web no detecta errores de renderizado reales. La implementación web solo simula el comportamiento con almacenamiento local. - Referencia de tipos
Sección titulada “Referencia de tipos”
Sección titulada “PendingCrashInfoResult”PendingCrashInfoResult
Sección titulada “Información de errores pendientes”export interface PendingCrashInfoResult { /** * Stored crash metadata, or `null` when no marker is pending. */ value: WebViewCrashInfo | null;}WebViewCrashInfo
Sección titulada “WebViewCrashInfo”export interface WebViewCrashInfo { /** * Platform that detected and stored the crash marker. */ platform: WebViewCrashPlatform;
/** * Unix timestamp in milliseconds for when the crash marker was written. */ timestamp: number;
/** * ISO-8601 version of `timestamp`. */ timestampISO: string;
/** * Platform-specific reason for the crash marker. */ reason: WebViewCrashReason;
/** * Last known WebView URL when the crash marker was written. */ url?: string;
/** * Android-only hint from `RenderProcessGoneDetail.didCrash()`. */ didCrash?: boolean;
/** * Android-only renderer priority reported at exit. */ rendererPriorityAtExit?: number;
/** * iOS-only application state captured when the WebView process died. */ appState?: WebViewCrashAppState;}WebViewCrashPlatform
Sección titulada “WebViewCrashPlatform”export type WebViewCrashPlatform = 'android' | 'ios' | 'web';WebViewCrashReason
Sección titulada “WebViewCrashReason”export type WebViewCrashReason = 'renderProcessGone' | 'webContentProcessDidTerminate' | 'simulated';WebViewCrashAppState
Sección titulada “WebViewCrashAppState”export type WebViewCrashAppState = 'active' | 'inactive' | 'background' | 'unknown';Sección titulada “Fuente de Verdad”
Esta página se genera desde el plugin’sEsta página se genera desde el plugin src/definitions.ts. Re-ejecuta la sincronización cuando el API público cambie en la fuente.