Новый Firebase Crashlytics отключен в режиме отладки - PullRequest
5 голосов
/ 16 июня 2020

Я недавно перешел на новую Firebase Crashlytics от Fabri c one, и я не могу найти альтернативу отключению Crashlytics в режиме отладки.

Fabri c:

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

Кто-нибудь знает ответ? Я видел, что ядро ​​класса FirebaseCrashlytics теперь настроено внутри. Я пробовал FirebaseCrashlytics(CrashlyticsCore.??).getInstance(), но такой конструктор не работает.

Также CrashlyticsCore класс больше не имеет .Builder() доступно

Ответы [ 2 ]

3 голосов
/ 16 июня 2020

Однажды я пробовал go, который работал у меня .. Добавьте это к 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")
2 голосов
/ 15 июля 2020

Чтобы сделать это программно, используйте приведенный ниже код в классе Application

    if(BuildConfig.IS_DEBUG) {
        FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(false)
    }else{
        FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true)
    }
    //enabled only for signed builds

Включите сбор данных для выбранных пользователей, вызвав переопределение сбора данных Crashlytics во время выполнения. Значение переопределения сохраняется при запуске вашего приложения, поэтому Crashlytics может автоматически собирать отчеты для будущих запусков этого экземпляра приложения. Чтобы отказаться от автоматической c Cra sh отчетности, передайте false в качестве значения переопределения. Если установлено значение false, новое значение не применяется до следующего запуска приложения.

Вот ссылка на документацию https://firebase.google.com/docs/crashlytics/customize-crash-reports?platform=android#enable -reporting

...