Я провел тест, чтобы понять, как работает Crashlytics. Я делаю 2 кнопки в своем приложении, 1 для сообщения о НЕ ФАТАЛЬНОМ и 1 для сообщения о FATAL CRASH. Код выглядит так:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
nonfatal.setOnClickListener {
val crashlytics = FirebaseCrashlytics.getInstance()
crashlytics.setUserId(Random.nextInt().toString())
crashlytics.recordException(Throwable("AAA"))
}
fatal.setOnClickListener {
throw Exception("This is fatal")
}
}
Затем я пытаюсь нажать кнопку NON FATAL, а затем перезапустить приложение. Я не вижу никаких изменений в моей аварийной консоли. Но когда я нажимаю кнопку FATAL, приложение вылетает, и я снова открываю приложение. Вскоре после этого я вижу новые записи в своей аварийной консоли. Включая отчет "НЕ ФАТАЛЬНО"
Итак, напрашивается вывод, что крашлитик не сразу отправляет НЕ ФАТАЛЬНО. Он просто сохраняет его, а затем при сбое приложения отправляет FATAL и NON FATAL в Firebase.
ВОПРОС: Как заставить Firebase Crashlytics отправлять НЕ ФАТАЛЬНУЮ ошибку в Firebase Console, не дожидаясь сбоя приложения?