programing

디버그 모드에서 새 Firebase Crashlytics 사용 안 함

skycolor 2023. 6. 6. 08:09
반응형

디버그 모드에서 새 Firebase Crashlytics 사용 안 함

최근에 패브릭 1에서 새 Firebase Crashlytics로 전환했는데 디버그 모드에서 Crashlytics를 비활성화할 수 있는 대안을 찾을 수 없습니다.

원단:

val crashlytics = Crashlytics.Builder().core(CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build()).build()
Fabric.with(this, crashlytics, Answers())

답 아는 사람?나는 그것을 보았습니다.FirebaseCrashlytics클래스는 현재 내부적으로 코어가 설정되어 있습니다.해봤습니다FirebaseCrashlytics(CrashlyticsCore.??).getInstance()하지만 그런 종류의 건설자는 작동하지 않습니다.

또한.CrashlyticsCore수업은 더 이상 없습니다..Builder()이용할 수 있는

프로그래밍 방식으로 이 작업을 수행하려면 응용프로그램 클래스에서 아래 코드를 사용합니다.

FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(!BuildConfig.DEBUG)
//enabled only for signed builds

런타임에 충돌 분석 데이터 수집 재정의를 호출하여 선택한 사용자에 대한 수집을 활성화합니다.재정의 값은 앱을 실행하는 동안에도 유지되므로 Crashlytics는 향후 해당 앱 인스턴스를 실행할 때 사용할 보고서를 자동으로 수집할 수 있습니다.자동 충돌 보고를 해제하려면 재정의 값으로 false를 전달합니다.false로 설정하면 새 값은 앱의 다음 실행 전까지 적용되지 않습니다.

다음은 설명서 https://firebase.google.com/docs/crashlytics/customize-crash-reports?platform=android#enable-reporting 에 대한 링크입니다.

나는 얼마 전에 나에게 효과가 있는 시도를 한 적이 있습니다. 이것을 추가하세요.build.gradle.

android {
  buildTypes {
     debug {
        manifestPlaceholders = [crashlyticsCollectionEnabled:"false"]
        ...
     }

    release {
        manifestPlaceholders = [crashlyticsCollectionEnabled:"true"]
        ...
    }
  }
}

그런 다음 매니페스트에 이 속성을 설정합니다.

<meta-data
        android:name="firebase_crashlytics_collection_enabled"
        android:value="${crashlyticsCollectionEnabled}" />

수동으로 로그를 기록하면 런타임에 다음과 같은 것을 사용할 수 있습니다.

FirebaseCrashlytics.getInstance().recordException(RuntimeException("Invalidtoken"))

또한 이것과 충돌 분석 옵트인을 확인하십시오.

이것은 나에게 효과가 있습니다.

manifest.xml

<meta-data             
android:name="firebase_crashlytics_collection_enabled"            
android:value="${crashlyticsCollectionEnabled}" />

빌드.그래들

buildTypes {
        release {
            manifestPlaceholders["crashlyticsCollectionEnabled"] = true
        }
        debug {
            manifestPlaceholders["crashlyticsCollectionEnabled"] = false
        }
    }

화재 기지를 확인할 수 있습니다. https://firebase.google.com/docs/crashlytics/customize-crash-reports?platform=android#enable-reporting

Institute build variables in the manifest: https://developer.android.com/studio/build/manage-manifests#inject_build_variables_into_the_manifest 에서 확인할 수 있습니다.

언급URL : https://stackoverflow.com/questions/62402856/new-firebase-crashlytics-disable-in-debug-mode

반응형