Challenge - 5 Problems
Crashlytics Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ ui_behavior
intermediate2:00remaining
Crashlytics: What happens when a crash occurs?
In an Android app integrated with Crashlytics, what happens immediately after the app crashes?
Attempts:
2 left
💡 Hint
Think about how Crashlytics handles network availability and app lifecycle.
✗ Incorrect
Crashlytics saves crash reports locally when a crash happens. It sends them to Firebase the next time the app starts, ensuring reports are not lost if the app closes abruptly.
🧠 Conceptual
intermediate2:00remaining
Crashlytics: Purpose of custom keys
Why would you add custom keys to Crashlytics reports in your Android app?
Attempts:
2 left
💡 Hint
Custom keys add context, not control over reporting or fixing.
✗ Incorrect
Custom keys let you attach extra details like user actions or app state to crash reports, making it easier to understand why a crash happened.
❓ lifecycle
advanced2:00remaining
Crashlytics: When to initialize in Android app lifecycle?
Where is the best place to initialize Firebase Crashlytics in an Android app using Kotlin?
Attempts:
2 left
💡 Hint
Crashlytics should be ready as early as possible in app startup.
✗ Incorrect
Initializing Crashlytics in the Application class's onCreate() ensures it starts before any activity and can catch crashes anywhere in the app.
🔧 Debug
advanced2:00remaining
Crashlytics: Diagnosing missing crash reports
You integrated Crashlytics but notice some crashes are not appearing in Firebase console. Which of these is the most likely cause?
Attempts:
2 left
💡 Hint
Think about Crashlytics behavior in debug vs release builds.
✗ Incorrect
By default, Crashlytics disables crash reporting in debug builds to avoid noise. You must enable it explicitly or test in release builds.
expert
2:00remaining
Crashlytics: Handling user consent before crash reporting
Your app requires user consent before sending crash reports. Which approach correctly delays Crashlytics initialization until after consent is given?
Android Kotlin
class MyApp : Application() { override fun onCreate() { super.onCreate() // What to do here? } fun onUserConsentGiven() { // Initialize Crashlytics here } }
Attempts:
2 left
💡 Hint
Crashlytics supports enabling/disabling data collection dynamically.
✗ Incorrect
The recommended way is to initialize Crashlytics early but disable automatic data collection until user consents, then enable it. This avoids missing crashes and respects privacy.