본문 바로가기

Capacitor 앱을 위한 Firebase Crashlytics

iOS와 Android 모두에서 Crashlytics를 설정하는 단계별 가이드를 통해 모바일 앱에 실시간 크래시 리포팅을 통합하는 방법을 알아보세요.

Capacitor 앱을 위한 Firebase Crashlytics Capgo 블로그 일러스트

Firebase Crashlytics 앱 크래시를 실시간으로 추적하고 문제를 빠르게 해결할 수 있도록 상세한 리포트를 제공합니다. 다음 서비스와 원활하게 통합됩니다: Capacitor iOS 및 Android 앱 모두 지원합니다. 주요 내용은 다음과 같습니다:

  • Crashlytics를 사용해야 하는 이유

    • 받기 실시간 크래시 알림.
    • 상세한 크래시 리포트를 분석하세요 자동 이슈 그룹화.
    • 중요한 에러를 모니터링하여 앱의 안정성을 유지하세요.
  • 설정 요구 사항:

    • 설치 Node.js (v16+), Capacitor (v4+), 및 도구 iOS 프로파일링 14+ 및 디버깅하기 전기뱀장어.
    • 다운로드 Firebase 설정 파일 (GoogleService-Info.plist iOS용, google-services.json Android용)을 구성하세요.
    • 플랫폼별 파일(예: Podfile (iOS) 및 build.gradle Android)을 업데이트합니다.
  • 주요 단계:

    • Crashlytics 설치:

      npm install @capgo/capacitor-firebase-crashlytics && npx cap sync
    • 앱에서 Crashlytics 초기화:

      import { FirebaseCrashlytics } from '@capgo/capacitor-firebase-crashlytics';
      await FirebaseCrashlytics.initialize();
  • 설정 테스트:

    • 테스트 크래시 발생시키기:

      await FirebaseCrashlytics.crash();
  • 보너스 팁: Crashlytics를 Capgo 앱 스토어 지연 없이 즉시 Live Update를 받을 수 있습니다.

이 가이드는 앱이 크래시 없이 사용자 친화적으로 작동하도록 보장합니다. 오늘 바로 Firebase Crashlytics를 설정해 보세요!

2021 Android 가이드: Firebase Crashlytics - 사용자 정의 크래시 …

Firebase Crashlytics

설정 요구사항

시작하기 전에 다음 단계를 완료했는지 확인하세요:

필수 소프트웨어 및 계정

다음 항목을 설치해야 합니다:

  • Node.js (v16 이상) 및 Capacitor (v4 이상)
  • 어떤 Firebase 계정 활성 프로젝트 보유
  • Xcode 14 이상 iOS 개발용
  • Android Studio Electric Eel 또는 Android 개발용 상위 버전
  • 최신 버전의 CocoaPods (iOS 필수)

플랫폼 설정 파일

iOS의 경우:

  • 다음을 다운로드한 뒤 GoogleService-Info.plist Firebase Console에서 다운로드하세요.
  • 다음 파일을 Podfile Crashlytics 의존성을 포함하도록
  • 필요한 개인정보 보호 키를 다음 파일에 추가하세요: Info.plist 다운로드됩니다.

Android의 경우:

  • 해당 파일을 google-services.json Firebase Console에서 다운로드하세요.
  • 프로젝트 수준과 앱 수준 모두에서 변경하세요 build.gradle 파일.
  • 다음 파일을 업데이트하세요: AndroidManifest.xml 필요한 권한을 포함하도록

Firebase Console 설정

Firebase 플랫폼 대시보드

다음 단계에 따라 Firebase를 설정하고 Crashlytics를 활성화하세요:

  1. Firebase 프로젝트 생성 및 Crashlytics 활성화

  2. 앱 등록 Firebase Console에서:

    • 트레이드오프를 평가하려면 bundle ID iOS용과 패키지 이름 Android용.
    • 설정 파일 다운로드: GoogleService-Info.plist (iOS) 및 google-services.json (Android).
  3. Firebase SDK 통합 앱에 다음 의존성을 추가하여 Firebase SDK를 통합하세요:

    Android의 경우 (앱 레벨 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'
    }

    iOS의 경우 (Podfile):

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

이 단계가 완료되면 Plugin Installation 섹션으로 넘어갈 준비가 됩니다.

설치 단계

플러그인 설치

그 후, 플러그인을 네이티브 플랫폼과 동기화하고 @capgo/capacitor-firebase-crashlytics 전체 API 레퍼런스는 플러그인 페이지에서 확인하세요:

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

그 후, 앱에서 Crashlytics를 초기화하세요. 다음 code을(를) 추가합니다. app.component.ts 또는 main.ts:

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

플랫폼 설정

Android 및 iOS 플랫폼에 필요한 설정을 구성하세요.

Android 설정

  1. 앱 레벨에 Crashlytics Gradle 플러그인 추가 build.gradle 파일에 추가하세요:

    buildscript { 
        dependencies { 
            classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.5' 
        } 
    }
    apply plugin: 'com.google.firebase.crashlytics'
  2. 에서 크래시 수집 활성화 AndroidManifest.xml:

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

iOS 설정

  1. 에서 Firebase 설정 AppDelegate.swift:

    import Firebase
    FirebaseApp.configure()

설정 테스트

테스트 크래시를 실행하고 Firebase Console에서 확인하여 Crashlytics가 정상 작동하는지 검증하세요:

  • 커스텀 키로 테스트 크래시 트리거:

    await FirebaseCrashlytics.setCustomKey({key: 'test_scenario', value: 'manual_crash'});
    await FirebaseCrashlytics.crash();
  • 선택적으로 사용자 식별:

    await FirebaseCrashlytics.setUserId({userId: 'user123'});
  • 커스텀 이벤트 로깅:

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

스택 트레이스, 디바이스 정보, 커스텀 키가 포함된 리포트는 약 5분 이내에 Firebase Console에 표시됩니다.

중요: 앱을 출시하기 전에 크래시 호출을 제거하세요. 개발 중 크래시 수집을 비활성화하려면 다음을 사용하세요:

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

모니터링 가이드

테스트 크래시로 설정을 확인한 후, Firebase Console을 사용하여 라이브 앱의 실제 크래시와 오류를 추적하세요.

크래시 리포트 읽기

Firebase Console의 Crashlytics 섹션에서 크래시 리포트를 확인할 수 있습니다. 다음과 같은 내용을 볼 수 있습니다:

  • 크래시 없는 사용자: 크래시를 경험하지 않은 사용자의 비율입니다.
  • 이슈 안정성: 크래시 발생 빈도.
  • 영향도 분석: 영향을 받은 사용자 수.

이슈를 클릭하면 스택 트레이스, 기기 정보(OS 버전, 메모리 등), 커스텀 키, 로그, 크래시 직전의 사용자 여정 등 상세 내용을 확인할 수 있습니다.

프로 팁: “velocity alerts” 기능을 활성화하면 크래시 발생률이 급증할 때 알림을 받을 수 있습니다. 이를 통해 더 많은 사용자에게 영향을 미치기 전에 문제를 해결할 수 있습니다.

에러 관리 팁

  • 영향도에 따른 우선순위 지정: 가장 많은 사용자에게 영향을 주거나 앱의 핵심 기능에서 발생하는 크래시에 집중하세요. 트렌드를 추적하면 긴급한 이슈를 파악하는 데 도움이 됩니다.

  • 커스텀 키 활용: 커스텀 키를 사용하여 크래시 리포트에 컨텍스트를 추가하세요. 예시:

    await FirebaseCrashlytics.setCustomKey({
      key: 'current_view',
      value: 'payment_processing'
    });
  • 유사 이슈 그룹화: Firebase의 자동 이슈 그룹화 기능을 활용하세요. 관련 크래시에 일관된 커스텀 키를 태그하고, 명확하고 설명적인 제목을 사용하면 추적이 더 쉬워집니다.

사용자 개인정보 보호

규정 준수와 사용자 데이터 보호를 위해 다음 지침을 따르세요:

  • 권한:

    • 개인정보 처리방침에 크래시 리포팅 관련 내용을 명시하세요.
    • GDPR 규정이 적용되는 지역에서는 데이터 수집에 대한 사용자 동의를 받으세요.
    • 사용자에게 크래시 리포팅 거부(opt-out) 옵션을 제공하세요.
  • 데이터 수집 제어:

    await FirebaseCrashlytics.setCrashlyticsCollectionEnabled({enabled: false});
    await FirebaseCrashlytics.setCrashlyticsCollectionEnabled({enabled: true});
  • 데이터 보관:

    • 90일 후 데이터가 자동 삭제되도록 설정하세요.
    • 리포트에서 민감한 정보를 제거(scrub)하세요.
    • 사용자 식별이 불가능한 커스텀 키를 사용해 디버깅 중에도 사용자 프라이버시를 유지하세요.

Capgo 통합

Capgo Live Update 대시보드 인터페이스

Capgo의 live update 시스템을 Crashlytics와 결합하여 크래시 감지부터 수정 배포까지의 프로세스를 간소화하세요.

Capgo 소개

Capgo은 live update용으로 특별히 설계된 도구입니다 Capacitor 앱. 1,900개 이상의 앱이 프로덕션에서 사용 중이며, 24시간 내 95%의 업데이트율을 기록하여 앱 스토어 승인 지연 없이 빠른 수정을 보장합니다 [1].

주요 기능은 다음과 같습니다:

  • 종단 간 암호화 안전한 업데이트를 위해
  • 원클릭 롤백 이전 버전으로
  • 채널 기반 배포 타겟 릴리스용
  • 원활한 CI/CD 통합
  • 어떤 100% 오픈소스 플랫폼

Crashlytics와 Capgo 함께 사용하기

Capgo와 Crashlytics를 함께 사용하면 이슈를 빠르게 식별하고 해결하는 효율적인 워크플로우를 구축할 수 있습니다.

작동 방식은 다음과 같습니다:

  1. 크래시 감지 및 대응
    Crashlytics가 크래시를 감지하면, Capgo를 통해 앱 스토어 승인을 기다릴 필요 없이 즉시 수정 사항을 배포할 수 있습니다.

  2. 타겟팅 업데이트

    • 베타 테스트: 특정 그룹에 먼저 배포하여 수정 사항의 효과를 검증합니다.
    • 단계적 배포: 점진적으로 업데이트를 배포하여 리스크를 줄입니다.
    • 긴급 수정: 긴급 문제를 해결하기 위해 중요한 패치를 빠르게 배포합니다.
  3. 모니터링 및 검증
    Capgo로 업데이트를 배포한 후, Crashlytics를 사용하여 크래시율을 추적하고 문제가 해결되었는지 확인합니다.

보안 및 App Store 규정

Capgo는 Apple과 Google의 정책을 준수하면서 강력한 보안 기능을 제공합니다:

  • 업데이트 배포 글로벌 성공률 82% [1]
  • 더 나은 관리를 위한 자동 버전 제어
  • 앱 스토어 live update 가이드라인 준수

Crashlytics와 안전하게 통합하려면:

  • 두 시스템 모두에서 오류 추적을 활성화합니다.
  • Crashlytics 리포트와 함께 Capgo의 모니터링 도구를 사용합니다.
  • 모든 업데이트에 대해 버전 관리를 유지하세요.
  • 감사 목적으로 업데이트에 대한 상세 로그를 유지하세요.

Plugin Options 섹션으로 이동하여 다른 live update 도구를 살펴보세요.

플러그인 옵션

적절한 크래시 리포팅 플러그인을 선택하는 것은 앱에서 오류를 식별하고 수정하는 방식에 큰 영향을 미칩니다.

다음은 Capacitor용 인기 있는 오류 리포팅 도구와 Crashlytics를 간단히 비교한 것입니다:

  • Sentry,: 무료 티어를 제공하며, 유료 플랜은 월 $26부터 시작합니다. 30개 이상의 플랫폼을 지원하며 상세한 컨텍스트와 함께 실시간 에러 모니터링을 제공합니다.
  • Bugsnag: 월 $47부터 시작합니다. 모바일과 웹 플랫폼을 모두 지원하며, 자동 에러 그룹화 및 릴리스 트래킹 기능을 제공합니다.
  • Rollbar: 월 $31부터 시작합니다. 다양한 플랫폼에서 작동하며, 배포 트래킹 및 사용자 트래킹과 같은 기능을 제공합니다.

Crashlytics는 원활한 통합과 무료 티어 덕분에 이미 Firebase를 사용 중인 팀에게 특히 매력적입니다.

요약

지금까지 완료한 작업과 다음 단계를 확인해 보세요:

설정 단계 요약

시작을 위한 세 가지 핵심 단계를 완료했습니다:

  • Firebase 프로젝트를 생성하고 iOS/Android 앱을 등록했습니다.
  • Crashlytics 플러그인을 설치하고 설정했습니다.
  • 필요한 iOS 및 Android 플랫폼 파일을 업데이트했습니다.

이 도구들을 통합해야 하는 이유

Firebase Crashlytics를 Capgo와 함께 사용하면 에러 트래킹을 위한 강력한 시스템을 갖추게 되며, 업데이트 관리이 조합이 제공하는 이점은 다음과 같습니다:

  • 빠른 수정: 클릭 한 번으로 즉시 업데이트를 푸시하거나 변경 사항을 롤백할 수 있습니다.
  • 안정적인 배포: 업데이트가 널리 적용되고 사용자에게 원활하게 전달되도록 보장합니다.

다음 단계는?

  1. Firebase Console에서 상세한 크래시 분석 기능을 활성화하세요.
  2. 업데이트 프로세스를 간소화하려면 CI/CD 파이프라인에 Capgo를 추가하세요.
  3. 사용 Capgo 채널 수정 사항을 단계별로 테스트하고 릴리스할 수 있습니다.

Crashlytics와 Capgo를 활용하면 앱을 안정적으로 운영하며 지속적으로 개선해 나갈 수 있습니다.

Capacitor 앱에서 Firebase Crashlytics 계속 사용하기

사용 중이라면 Capacitor 앱을 위한 Firebase Crashlytics 네이티브 플러그인 작업을 계획하려면, 이를 다음 항목과 연결하세요: Capgo 플러그인 디렉토리 Capgo Plugin Directory의 제품 워크플로우에 맞춰, Capgo의 Capacitor 플러그인 Capgo의 Capacitor 플러그인 구현 상세 내용에 대해서는, 플러그인 추가 또는 업데이트 플러그인 추가 또는 업데이트의 구현 세부 사항은, Ionic Enterprise 플러그인 대안 Ionic Enterprise 플러그인 대안의 제품 워크플로우와, Capgo Native Build Capgo Native Builds의 제품 워크플로우를 위해.

Capacitor 앱용 Live updates

웹 레이어 버그가 라이브 상태라면, 앱 스토어 승인을 며칠씩 기다리지 말고 Capgo를 통해 수정 사항을 배포하세요. 네이티브 변경 사항은 정상 리뷰 절차를 그대로 따르는 반면, 사용자는 백그라운드에서 업데이트를 받습니다.

블로그 최신 글

Capgo는 정말 프로페셔널한 모바일 앱을 만드는 데 필요한 최고의 인사이트를 제공합니다.