반응형
Greensky0026
삽질러의 대환장 공사판
Greensky0026
전체 방문자
오늘
어제
  • 분류 전체보기 (241)
    • Language (56)
      • JAVA (13)
      • Swift (38)
      • Kotlin (4)
      • Dart (0)
      • PHP (0)
      • JavaScript (1)
    • IDE & Framework (92)
      • Spring (10)
      • Android (48)
      • iOS (8)
      • NodeJS (1)
      • CodeIgniter (3)
      • Flutter (1)
      • 분류중 (18)
    • Infra (8)
    • Database (12)
    • VCS (4)
    • Debug Log (34)
      • java (7)
      • swift (3)
      • Android (9)
      • Web (7)
      • 삽질기 (7)
    • Others (19)
      • 코딩테스트 풀이 (0)
      • IT 이야기 (18)
    • 쉼터 (2)
    • 개발공부 (14)
      • Network (1)
      • 자료구조와 알고리즘 (2)
      • Code design (8)
      • ETC (1)
      • 아카이브 (1)

블로그 메뉴

    공지사항

    • 프로그래머스 코딩 테스트 관련글 비공개 처리

    인기 글

    태그

    • map
    • Android
    • xcode
    • swift
    • ios
    • level1
    • 프로그래밍
    • kotlin
    • 구축
    • 타입
    • reduce
    • IT
    • JSP
    • 개발
    • 예제
    • 코딩테스트
    • 공부
    • 프로그래머스
    • swfit
    • Java

    최근 댓글

    최근 글

    티스토리

    hELLO · Designed By 정상우.
    Greensky0026

    삽질러의 대환장 공사판

    [Kotlin] Firebase Crashlytics 적용시키기 (간단!)
    IDE & Framework/Android

    [Kotlin] Firebase Crashlytics 적용시키기 (간단!)

    2022. 1. 9. 14:42
    반응형

     Firebase Crashlytics는 전신이 Fabric Crashlytics이며, 실시간 비정상 종료 보고 도구입니다.

    이를 처리하기 쉽게 목록으로 종합해 정보를 제공하고, 비정상 종료의 심각도와 발생률또한 보여줍니다.

    최대의 장점은 부착하기 쉽고, 제어가 간편하다는 점입니다.

    ANR이나 crash로 인해 앱이 종료된 후, 다시 실행시켰을 때 fb crashlytics로 해당 에러를 전송해줍니다.

     

    주의점은, Firebase의 여타 컴포넌트들과 달리, FirebaseApp으로 Instance생성이 불가능하다는 점입니다.

     

    https://firebase.google.com/docs/crashlytics

     

    Firebase Crashlytics  |  Firebase Documentation

    Apple, Android, Unity를 위한 강력한 비정상 종료 보고 솔루션으로 앱 문제에 대한 명확하고 활용 가능한 분석 정보를 확인해 보세요.

    firebase.google.com

     

     Crashlytics를 사용하려면, application package를 firebase project에 등록해야 합니다.

    이 부분은 생략하도록 하겠습니다.

     

    Firebase Crashlytics 플러그인 추가

    project level build.gradle

    buildscript {
        repositories {
            // Check that you have Google's Maven repository (if not, add it).
            google()
        }
    
        dependencies {
            // ...
    
            // Check that you have the Google services Gradle plugin v4.3.2 or later
            // (if not, add it).
            classpath 'com.google.gms:google-services:4.3.10'
    
            // Add the Crashlytics Gradle plugin
            classpath 'com.google.firebase:firebase-crashlytics-gradle:2.7.1'
        }
    }
    
    allprojects {
        repositories {
            // Check that you have Google's Maven repository (if not, add it).
            google()
        }
    }

     

    app level build.gradle

     

    apply plugin: 'com.android.application'
    apply plugin: 'com.google.gms.google-services' // Google services Gradle plugin
    
    // Apply the Crashlytics Gradle plugin
    apply plugin: 'com.google.firebase.crashlytics'

     

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:28.4.0')
    
        // Declare the dependencies for the Crashlytics and Analytics libraries
        // When using the BoM, you don't specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-crashlytics'
        implementation 'com.google.firebase:firebase-analytics'
    }

    *firebase:firebase-bom 사용시 장점 : 버전에 대한 명시를 firebase-bom항목에만 해주면 되어, 버전관리가 용이

     

    이렇게만 적용해줘도 적용이 끝납니다.

    추가적으로 의도적으로 crash를 내 테스트를 원하신다면,

    crashButton.setOnClickListener {
    	throw RuntimeException("Test Crash") // Force a crash
    }

    위와같은 식으로 버튼에 이벤트를 심어주시면 됩니다.

     

    아래처럼 Analytics에 연결하거나, 간단한 로그를 찍을수도 있습니다.

    val myFirebaseAnalytics = FirebaseAnalytics.getInstance(applicationContext)
    val myCrashlytics = FirebaseCrashlytics.getInstance()
    myCrashlytics.log("this is app message")

     

    더 자세한 사용법은, Firebase Document를 참조하시면 되겠습니다.

    편리한 기능을 생각보다 간단히 적용할 수 잇습니다 :)

    반응형
    저작자표시 비영리 (새창열림)

    'IDE & Framework > Android' 카테고리의 다른 글

    [Kotlin] Broadcast 란? 사용법과 예제  (0) 2022.01.15
    [Kotlin] RemoteConfig 적용하기 [간단]  (0) 2022.01.09
    [Kotlin] Firebase Crashlytics 적용시키기 (간단!)  (0) 2022.01.09
    [JAVA] Base64 incoding, decoding  (0) 2022.01.06
    [Kotlin] InCallService로 Default Dialer 개발하기  (4) 2021.12.19
      'IDE & Framework/Android' 카테고리의 다른 글
      • [Kotlin] Broadcast 란? 사용법과 예제
      • [Kotlin] RemoteConfig 적용하기 [간단]
      • [Kotlin] Firebase Crashlytics 적용시키기 (간단!)
      • [JAVA] Base64 incoding, decoding
      Greensky0026
      Greensky0026
      점이 모여 선이 된다. 내 삽질도 언젠간 거대한 지하 도시가 되겠지!

      티스토리툴바