Saltar al contenido principal

Firebase Crashlytics para apps de Capacitor

Aprende a integrar reportes de crashes en tiempo real en tus apps móviles con esta guía paso a paso para configurar Crashlytics en iOS y Android.

Firebase Crashlytics para apps Capacitor Capgo

Firebase Crashlytics te ayuda a rastrear crashes en tiempo real, con reportes detallados para solucionar errores rápido. Se integra con Capacitor tanto en iOS como en Android. Esto es lo que debes saber:

  • ¿Por qué usar Crashlytics?

    • Obtén alertas de errores en tiempo real.
    • Analiza reportes de errores detallados con agrupación automática de problemas.
    • Monitorea errores críticos para mantener tus apps estables.
  • Requisitos de configuración:

    • Instalar Node.js (v16+), Capacitor (v4+), y herramientas como Xcode 14+ y Android Studio Anguila Eléctrica.
    • Descargar Firebase archivos de configuración (GoogleService-Info.plist para iOS, google-services.json para Android).
    • Actualiza archivos específicos de la plataforma como Podfile (iOS) y build.gradle (Android).
  • Pasos clave:

    • Instala Crashlytics:

      npm install @capgo/capacitor-firebase-crashlytics && npx cap sync
    • Inicializa Crashlytics en tu app:

      import { FirebaseCrashlytics } from '@capgo/capacitor-firebase-crashlytics';
      await FirebaseCrashlytics.initialize();
  • Prueba tu configuración:

    • Provoca un crash de prueba:

      await FirebaseCrashlytics.crash();
  • Tip extra: Combina Crashlytics con Capgo para live updates instantáneos sin esperas de la app store.

Esta guía asegura que tu app no tenga crashes y sea amigable. ¡Empieza a configurar Firebase Crashlytics hoy mismo!

Guía de Android 2021: Firebase Crashlytics - crash personalizado …

Firebase Crashlytics

Requisitos de configuración

Antes de empezar, asegúrate de haber completado estos pasos:

Software y cuentas necesarias

Tendrás que instalar lo siguiente:

  • Node.js (v16 o superior) y Capacitor (v4 o superior)
  • Una Cuenta de Firebase con un proyecto activo
  • Xcode 14+ para el desarrollo en iOS
  • Android Studio Electric Eel o una versión más reciente para el desarrollo en Android
  • La última versión de CocoaPods (requerido para iOS)

Archivos de configuración de la plataforma

Para iOS:

  • Descarga el GoogleService-Info.plist archivo desde Firebase Console.
  • Actualiza tu Podfile para incluir las dependencias de Crashlytics.
  • Añade las claves de privacidad necesarias a tu Info.plist archivo.

Para Android:

  • Obtén el google-services.json archivo desde Firebase Console.
  • Realiza cambios tanto a nivel de proyecto como de app build.gradle archivos.
  • Actualiza el AndroidManifest.xml para incluir los permisos requeridos.

Firebase Configuración de la Console

Dashboard de Firebase Platform

Configura Firebase y habilita Crashlytics con estos pasos:

  1. Crea un proyecto de Firebase y habilita Crashlytics.

  2. Registra tus apps en la Firebase Console:

    • Usa la bundle ID para iOS y el nombre del paquete para Android.
    • Descarga los archivos de configuración: GoogleService-Info.plist (iOS) y google-services.json (Android).
  3. Integra los SDK de Firebase en tu app añadiendo estas dependencias:

    Para Android (nivel app) build.gradle):

    dependencies {
        implementation platform('com.google.firebase:firebase-bom:32.0.0')
        implementation 'com.google.firebase:firebase-crashlytics'
        implementation 'com.google.firebase:firebase-analytics'
    }

    Para iOS (Podfile):

    pod 'Firebase/Crashlytics'
    pod 'Firebase/Analytics'

Una vez completados estos pasos, puedes pasar a la sección de Instalación del Plugin.

Pasos de instalación

Instalación del plugin

Luego, sincroniza el plugin con tus plataformas nativas y consulta la @capgo/capacitor-firebase-crashlytics página del plugin para la referencia completa de API:

npm install @capgo/capacitor-firebase-crashlytics && npx cap sync

Luego, inicializa Crashlytics en tu app. Añade el siguiente code a app.component.ts o main.ts:

import { FirebaseCrashlytics } from '@capgo/capacitor-firebase-crashlytics';
await FirebaseCrashlytics.initialize();

Configuración de plataforma

Configura los ajustes necesarios para las plataformas Android e iOS.

Configuración de Android

  1. Añade el plugin Gradle de Crashlytics a tu nivel de app build.gradle archivo:

    buildscript { 
        dependencies { 
            classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.5' 
        } 
    }
    apply plugin: 'com.google.firebase.crashlytics'
  2. Activa la recolección de crashes en AndroidManifest.xml:

    <meta-data
        android:name="firebase_crashlytics_collection_enabled"
        android:value="true" />

iOS Setup

  1. Configura Firebase en AppDelegate.swift:

    import Firebase
    FirebaseApp.configure()

Prueba tu configuración

Confirma que Crashlytics funciona ejecutando un crash de prueba y revisando la Firebase Console:

  • Provoca un crash de prueba con una clave personalizada:

    await FirebaseCrashlytics.setCustomKey({key: 'test_scenario', value: 'manual_crash'});
    await FirebaseCrashlytics.crash();
  • Opcionalmente, identifica a un usuario:

    await FirebaseCrashlytics.setUserId({userId: 'user123'});
  • Registra eventos personalizados:

    await FirebaseCrashlytics.log({message: 'Test crash triggered'});

Los reportes, incluyendo stack traces, detalles del dispositivo y claves personalizadas, deberían aparecer en la Firebase Console en unos 5 minutos.

Importante: Elimina las llamadas de crash antes de lanzar tu app. Para desactivar la recolección de crashes durante el desarrollo, usa:

await FirebaseCrashlytics.setCrashlyticsCollectionEnabled({enabled: false});

Guía de monitoreo

Una vez confirmada tu configuración con un crash de prueba, usa la Firebase Console para monitorear crashes y errores reales en tu app en producción.

Lectura de reportes de crash

Puedes encontrar los reportes de crash en la Firebase Console, en la sección de Crashlytics. Esto es lo que verás:

  • Usuarios sin crashes: El porcentaje de usuarios que no han sufrido crashes.
  • Estabilidad de errores: La frecuencia de los crashes.
  • Análisis de impacto: El número de usuarios afectados.

Haz clic en cualquier error para profundizar en detalles como stack traces, información del dispositivo (p. ej., versión del SO, memoria), custom keys, logs y el recorrido del usuario hasta el crash.

Consejo pro: Activa las “velocity alerts” para recibir notificaciones si la tasa de crashes aumenta de golpe. Así podrás solucionar problemas antes de que afecten a demasiados usuarios.

Tips de gestión de errores

  • Prioriza por impacto: Céntrate en los crashes que afecten a más usuarios o ocurran en partes críticas de tu app. Seguir las tendencias te ayudará a identificar problemas urgentes.

  • Usa Custom Keys: Añade contexto a tus crash reports con custom keys. Por ejemplo:

    await FirebaseCrashlytics.setCustomKey({
      key: 'current_view',
      value: 'payment_processing'
    });
  • Agrupar errores similares: Aprovecha el agrupamiento automático de Firebase. También puedes etiquetar crashes relacionados con claves personalizadas consistentes y usar títulos descriptivos para un seguimiento más fácil.

Protección de la privacidad del usuario

Para garantizar el cumplimiento y proteger los datos de los usuarios, sigue estas pautas:

  • Permisos:

    • Menciona el reporte de crashes en tu política de privacidad.
    • Obtén el consentimiento del usuario para la recolección de datos en regiones con regulaciones GDPR.
    • Ofrece a los usuarios la opción de desactivar el reporte de crashes.
  • Controles de recolección de datos:

    await FirebaseCrashlytics.setCrashlyticsCollectionEnabled({enabled: false});
    await FirebaseCrashlytics.setCrashlyticsCollectionEnabled({enabled: true});
  • Retención de datos:

    • Configura la eliminación automática de datos tras 90 días.
    • Elimina información sensible de tus reportes.
    • Usa claves personalizadas no identificables para proteger la privacidad del usuario al depurar.

Capgo Integración

Interfaz del dashboard de Capgo Live Update

Agiliza el proceso desde la detección del fallo hasta el despliegue de la corrección combinando el sistema live update de Capgo con Crashlytics.

Sobre Capgo

Capgo es una herramienta de live update diseñada específicamente para apps de Capacitor. Con más de 1,900 apps en producción y una tasa de actualización del 95% en 24 horas, garantiza correcciones rápidas sin los retrasos de las aprobaciones de las tiendas de apps [1].

Las funciones clave incluyen:

  • Cifrado de extremo a extremo para actualizaciones seguras
  • Rollback en un clic a versiones anteriores
  • Distribución por canales para lanzamientos específicos
  • Integración CI/CD fluida
  • Una Plataforma 100% open-source

Crashlytics y Capgo juntos

Usar Crashlytics con Capgo crea un flujo de trabajo eficiente para identificar y resolver errores rápido.

Así es como funciona:

  1. Detección y respuesta de crashes
    Crashlytics detecta el crash y Capgo te permite desplegar fixes al instante sin esperar la aprobación de la app store.

  2. Actualizaciones segmentadas

    • Pruebas beta: Prueba los fixes con un grupo específico para asegurar que funcionan.
    • Despliegue gradual: Despliega actualizaciones gradualmente para reducir riesgos.
    • Fix de emergencia: Lanza parches críticos rápidamente para resolver problemas urgentes.
  3. Monitoreo y verificación
    Después de desplegar actualizaciones con Capgo, usa Crashlytics para trackear la tasa de crashes y confirmar que el problema se resolvió.

Seguridad y reglas de App Store

Capgo cumple con las políticas de Apple y Google mientras ofrece funciones de seguridad robustas:

  • 82% de tasa de éxito global al entregar actualizaciones [1]
  • Control de versiones automático para una mejor organización
  • Cumplimiento con las guías de live update de las app stores

Para una integración segura con Crashlytics:

  • Habilita el seguimiento de errores en ambos sistemas.
  • Usa las herramientas de monitoreo de Capgo junto a los reportes de Crashlytics.
  • Mantén el control de versiones de todas las actualizaciones.
  • Guarda logs detallados de las actualizaciones para auditorías.

Ve a la sección de Plugin Options para explorar otras herramientas de live update.

Opciones del plugin

Elegir el plugin de crash-reporting adecuado puede impactar mucho en cómo identificas y corriges errores en tu app.

Aquí tienes una comparativa rápida de Crashlytics con otras herramientas de error-reporting populares para Capacitor:

  • SentryOfrece un nivel gratuito con planes de pago desde $26/mes. Soporta más de 30 plataformas y ofrece monitoreo de errores en tiempo real con contexto detallado.
  • Bugsnag: Desde $47/mes. Cubre tanto plataformas móviles como web, con agrupación automática de errores y seguimiento de versiones.
  • Rollbar: Desde $31/mes. Funciona en múltiples plataformas con funciones como seguimiento de despliegues y de usuarios.

Crashlytics es especialmente atractivo para equipos que ya usan Firebase, gracias a su integración fluida y su plan gratuito.

Resumen

Aquí un vistazo rápido a lo que has logrado y lo que viene:

Resumen de los pasos de configuración

Has completado tres pasos clave para empezar:

  • Creaste un proyecto de Firebase y registraste tus apps de iOS/Android.
  • Instalaste y configuraste el plugin de Crashlytics.
  • Se actualizaron los archivos necesarios de iOS y Android.

¿Por qué integrar estas herramientas?

Combinar Firebase Crashlytics con Capgo te ofrece un sistema potente para el rastreo de errores y actualizaciones segura. Esto es lo que ofrece esta combinación:

  • Soluciones rápidas: Envía actualizaciones instantáneas y revierte cambios con un solo clic.
  • Despliegues fiables: Asegura que las actualizaciones se adopten ampliamente y lleguen sin problemas a los usuarios.

¿Qué sigue?

  1. Activa el análisis detallado de crashes en la Firebase Console.
  2. Añade Capgo a tu pipeline de CI/CD para actualizaciones ágiles.
  3. Usa canales de Capgo para probar y lanzar correcciones paso a paso.

Con Crashlytics y Capgo configurados, estarás listo para que tu app funcione sin problemas y mejore con el tiempo.

Más sobre Firebase Crashlytics para Apps con Capacitor

Si estás usando Firebase Crashlytics para apps de Capacitor para planificar el trabajo con plugins nativos, conéctalo con Directorio de plugins de Capgo para el flujo de trabajo del producto en Capgo Plugin Directory, Plugins de Capacitor por Capgo para el detalle de implementación en los Plugins de Capacitor por Capgo, Añadir o actualizar plugins para el detalle de implementación en Agregar o actualizar plugins, Alternativas a plugins de Ionic Enterprise para el flujo de trabajo en Alternativas a plugins de Ionic Enterprise, y Native Builds de Capgo para el flujo de trabajo del producto en Capgo Native Builds.

Live updates para apps Capacitor

Cuando un bug de la capa web está en producción, publica el fix a través de Capgo en lugar de esperar días a la aprobación de la app store. Los usuarios reciben la actualización en segundo plano mientras los cambios nativos siguen el flujo de revisión habitual.

Lo último de nuestro blog

Capgo te da la información clave que necesitas para crear una app móvil realmente profesional.