Primeros pasos
Copia un prompt de configuración con los pasos de instalación y la guía completa en markdown 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-firebase-crashlytics`
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/firebase-crashlytics/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 “Instalación”Puedes usar nuestro setup asistido por IA para instalar el plugin. Añade las skills de Capgo a tu herramienta de IA con el siguiente comando:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsLuego usa el siguiente prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-firebase-crashlytics` plugin in my project.Si prefieres la configuración manual, instala el plugin ejecutando estos comandos y sigue las instrucciones de cada plataforma:
bun add @capgo/capacitor-firebase-crashlyticsnpx cap syncImportar
Sección titulada “Importar”import { FirebaseCrashlytics } from '@capgo/capacitor-firebase-crashlytics';Inicio rápido
Sección titulada “Inicio rápido”import { FirebaseCrashlytics } from '@capgo/capacitor-firebase-crashlytics';
await FirebaseCrashlytics.crash({ message: 'Hello from Capacitor' });Ejemplo: setCustomKey
Sección titulada “Ejemplo: setCustomKey”import { FirebaseCrashlytics } from '@capgo/capacitor-firebase-crashlytics';
await FirebaseCrashlytics.setCustomKey({ key: 'key-123', value: 'value', type: 'string',});Ejemplo: setUserId
Sección titulada “Ejemplo: setUserId”import { FirebaseCrashlytics } from '@capgo/capacitor-firebase-crashlytics';
await FirebaseCrashlytics.setUserId({ userId: 'user-id-123' });Errores comunes
Sección titulada “Errores comunes”- Sync nativo: ejecuta
npx cap synctras actualizar los plugins. - Fuente de verdad: confianza
src/definitions.tsen el repo de GitHub.
Resumen de API
Sección titulada “Resumen de API”Fuerza un crash para probar la implementación.
Solo disponible para Android e iOS.
import { FirebaseCrashlytics } from '@capgo/capacitor-firebase-crashlytics';
await FirebaseCrashlytics.crash({ message: 'Hello from Capacitor' });setCustomKey
Sección titulada “setCustomKey”Establece una clave y un valor personalizados que se asocian con los reportes fatales y no fatales posteriores.
Solo disponible para Android e iOS.
import { FirebaseCrashlytics } from '@capgo/capacitor-firebase-crashlytics';
await FirebaseCrashlytics.setCustomKey({ key: 'key-123', value: 'value', type: 'string',});setUserId
Sección titulada “setUserId”Establece un ID de usuario (identificador) que se asocia a los reportes fatales y no fatales posteriores.
Solo disponible para Android e iOS.
import { FirebaseCrashlytics } from '@capgo/capacitor-firebase-crashlytics';
await FirebaseCrashlytics.setUserId({ userId: 'user-id-123' });Añade un mensaje de log personalizado que se envía con los datos del crash para darte más contexto sobre los eventos previos a un crash.
Solo disponible para Android e iOS.
import { FirebaseCrashlytics } from '@capgo/capacitor-firebase-crashlytics';
await FirebaseCrashlytics.log({ message: 'Hello from Capacitor' });setEnabled
Sección titulada “setEnabled”Activa/desactiva la recopilación automática de datos. El valor no se aplica hasta la próxima ejecución de la app.
Solo disponible para Android e iOS.
import { FirebaseCrashlytics } from '@capgo/capacitor-firebase-crashlytics';
await FirebaseCrashlytics.setEnabled({ enabled: true });isEnabled
Sección titulada “isEnabled”Indica si la recopilación automática de datos está activada.
Solo disponible para iOS.
import { FirebaseCrashlytics } from '@capgo/capacitor-firebase-crashlytics';
const result = await FirebaseCrashlytics.isEnabled();console.log(result);didCrashOnPreviousExecution
Sección titulada “didCrashOnPreviousExecution”Indica si la app falló durante la ejecución anterior.
Solo disponible para Android e iOS.
import { FirebaseCrashlytics } from '@capgo/capacitor-firebase-crashlytics';
const result = await FirebaseCrashlytics.didCrashOnPreviousExecution();console.log(result);sendUnsentReports
Sección titulada “sendUnsentReports”Sube los reportes no enviados a Crashlytics en el próximo inicio.
Cuando la recopilación automática de datos está activada, Crashlytics sube los informes automáticamente al iniciar la app.
Solo disponible para Android e iOS.
import { FirebaseCrashlytics } from '@capgo/capacitor-firebase-crashlytics';
await FirebaseCrashlytics.sendUnsentReports();deleteUnsentReports
Sección titulada “deleteUnsentReports”Elimina cualquier reporte no enviado del dispositivo.
Solo disponible para Android e iOS.
import { FirebaseCrashlytics } from '@capgo/capacitor-firebase-crashlytics';
await FirebaseCrashlytics.deleteUnsentReports();recordException
Sección titulada “recordException”Registra un reporte no fatal para enviar a Crashlytics.
Solo disponible para Android e iOS.
import { FirebaseCrashlytics } from '@capgo/capacitor-firebase-crashlytics';
await FirebaseCrashlytics.recordException({ message: 'Hello from Capacitor' });Referencia de tipos
Sección titulada “Referencia de tipos”CrashOptions
Sección titulada “CrashOptions”export interface CrashOptions { /** * @since 0.1.0 */ message: string;}SetCustomKeyOptions
Sección titulada “SetCustomKeyOptions”export type SetCustomKeyOptions = CustomKeyAndValue;SetUserIdOptions
Sección titulada “SetUserIdOptions”export interface SetUserIdOptions { /** * @since 0.1.0 */ userId: string;}LogOptions
Sección titulada “LogOptions”export interface LogOptions { /** * @since 0.1.0 */ message: string;}SetEnabledOptions
Sección titulada “SetEnabledOptions”export interface SetEnabledOptions { /** * @since 0.1.0 */ enabled: boolean;}IsEnabledResult
Sección titulada “IsEnabledResult”export interface IsEnabledResult { /** * @since 0.1.0 */ enabled: boolean;}DidCrashOnPreviousExecutionResult
Sección titulada “DidCrashOnPreviousExecutionResult”export interface DidCrashOnPreviousExecutionResult { /** * @since 0.1.0 */ crashed: boolean;}RecordExceptionOptions
Sección titulada “RecordExceptionOptions”export interface RecordExceptionOptions { /** * The message to record as a non-fatal exception. * * @since 0.1.0 */ message: string; /** * Error code within a specific error domain. * * **Attention:** This option is ignored on iOS if `stacktrace` is provided. * * Only available for iOS. * * @since 0.1.0 */ code?: number; /** * A string containing the error domain. * * **Attention:** This option is ignored on iOS if `stacktrace` is provided. * * Only available for iOS. * * @since 0.1.0 */ domain?: string; /** * An array of keys and the values to associate with the non fatal exception, * in addition to the app level custom keys. * * **Attention:** This option is ignored on iOS if `stacktrace` is provided. * * @since 7.1.0 */ keysAndValues?: CustomKeyAndValue[]; /** * A stacktrace generated by stacktrace.js. * * @since 1.1.0 */ stacktrace?: StackFrame[];}GetPluginVersionResult
Sección titulada “GetPluginVersionResult”export interface GetPluginVersionResult { /** * The semantic version of this plugin. * * @since 8.0.2 */ version: string;}CustomKeyAndValue
Sección titulada “CustomKeyAndValue”export interface CustomKeyAndValue { /** * @since 7.1.0 */ key: string; /** * @since 7.1.0 */ value: string | number | boolean; /** * @since 7.1.0 */ type: 'string' | 'long' | 'double' | 'boolean' | 'int' | 'float';}StackFrame
Sección titulada “StackFrame”Subconjunto del Stacktrace generado por stacktrace.js.
export interface StackFrame { lineNumber?: number; fileName?: string; functionName?: string;}Fuente de verdad
Sección titulada “Fuente de verdad”Esta página se genera a partir del plugin src/definitions.ts. Vuelve a ejecutar el sync cuando el API público cambie en upstream.
Continúa desde Getting Started
Sección titulada “Continúa desde Primeros pasos”Si estás usando Primeros pasos para planificar las operaciones del dashboard y de API, conéctalo con Resumen de API para los detalles de implementación en API Overview, Introducción para los detalles de implementación en la Introducción, Claves de API para el detalle de implementación en API Keys, Dispositivos para el detalle de implementación en Devices, y Bundles para el detalle de implementación en Bundles.