📖 Scenario: You are building a mobile app and want to track crashes and errors automatically. Firebase Crashlytics helps you find and fix issues by reporting crash data.
🎯 Goal: Set up Firebase Crashlytics in your app by adding the necessary configuration and initialization code step-by-step.
📋 What You'll Learn
Create a Firebase configuration dictionary with the exact keys and values
Add a configuration variable to enable Crashlytics collection
Initialize Crashlytics in the app startup code
Complete the setup by enabling automatic crash reporting
💡 Why This Matters
🌍 Real World
Crashlytics helps developers monitor app crashes in real time, improving app stability and user experience.
💼 Career
Setting up Crashlytics is a common task for mobile developers and cloud engineers working with Firebase to ensure app reliability.
Progress0 / 4 steps
1
Create Firebase configuration dictionary
Create a dictionary called firebase_config with these exact entries: apiKey set to "AIzaSyA-1234567890abcdef", projectId set to "my-firebase-project", and appId set to "1:1234567890:android:abcdef123456".
Firebase
Hint
Use a dictionary with keys apiKey, projectId, and appId exactly as shown.
2
Add Crashlytics collection enabled flag
Add a boolean variable called crashlytics_collection_enabled and set it to True to enable Crashlytics data collection.
Firebase
Hint
Set crashlytics_collection_enabled exactly to True.
3
Initialize Crashlytics in app startup
Write a function called initialize_crashlytics() that prints "Crashlytics initialized" only if crashlytics_collection_enabled is True.
Firebase
Hint
Use an if statement inside the function to check crashlytics_collection_enabled.
4
Enable automatic crash reporting
Add a line calling initialize_crashlytics() to complete the Crashlytics setup and enable automatic crash reporting.
Firebase
Hint
Call the function initialize_crashlytics() exactly as shown.
Practice
(1/5)
1. What is the primary purpose of Firebase Crashlytics in an app?
easy
A. To automatically detect and report app crashes
B. To store user data securely
C. To manage app user authentication
D. To optimize app performance speed
Solution
Step 1: Understand Crashlytics function
Crashlytics is designed to catch app crashes and send reports automatically to Firebase Console.
Step 2: Compare with other Firebase features
Other options like data storage, authentication, and performance are handled by different Firebase services.
Final Answer:
To automatically detect and report app crashes -> Option A
Quick Check:
Crashlytics = crash reporting [OK]
Hint: Crashlytics = crash reports, not data or auth [OK]
Common Mistakes:
Confusing Crashlytics with Firebase Authentication
Thinking Crashlytics manages user data
Assuming Crashlytics improves app speed
2. Which of the following is the correct step to initialize Crashlytics in an Android app's onCreate() method?
easy
A. FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true);
The official way to enable Crashlytics collection is calling FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true);.
Step 2: Check other options
Crashlytics.initializeCrashlytics() and Crashlytics.startCrashlyticsSession() are not valid Firebase SDK methods. FirebaseApp.initializeApp(this); initializes Firebase but not Crashlytics specifically.
Final Answer:
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true); -> Option A
Quick Check:
Enable Crashlytics with setCrashlyticsCollectionEnabled(true) [OK]
Hint: Use FirebaseCrashlytics.getInstance() to enable collection [OK]
Common Mistakes:
Using non-existent Crashlytics methods
Confusing FirebaseApp initialization with Crashlytics setup
Forgetting to enable crash collection explicitly
3. Given this Android code snippet, what will happen when the app runs?
B. The app ignores the exception and continues running
C. The app crashes silently without logging
D. The app logs the message and crashes, sending a report to Firebase
Solution
Step 1: Analyze the code behavior
The code logs a message to Crashlytics and then throws a RuntimeException, which causes the app to crash.
Step 2: Understand Crashlytics reporting
Crashlytics captures the log and crash, then sends the crash report to Firebase Console for analysis.
Final Answer:
The app logs the message and crashes, sending a report to Firebase -> Option D
Quick Check:
Crashlytics logs + crash = report sent [OK]
Hint: Throw exception after logging to test Crashlytics [OK]
Common Mistakes:
Thinking the app won't crash after exception
Assuming logs are not sent with crash
Believing the app ignores exceptions
4. You added Crashlytics to your iOS app but no crash reports appear in Firebase Console after forcing a crash. What is the most likely mistake?
medium
A. Calling Crashlytics.crash() before initializing Firebase
B. Forgetting to enable Crashlytics in Firebase Console
C. Not calling FirebaseApp.configure() in application(_:didFinishLaunchingWithOptions:)
D. Using an unsupported iOS version
Solution
Step 1: Check Firebase initialization
Calling FirebaseApp.configure() is required but usually done correctly if app runs.
Step 2: Verify Crashlytics enablement in Console
Crashlytics must be enabled in Firebase Console to receive reports; forgetting this is a common cause of missing reports.
Step 3: Consider other options
Calling crash before initialization or unsupported iOS versions are less common and usually cause app errors.
Final Answer:
Forgetting to enable Crashlytics in Firebase Console -> Option B
Quick Check:
Enable Crashlytics in Console to get reports [OK]
Hint: Always enable Crashlytics in Firebase Console after setup [OK]
Common Mistakes:
Skipping Crashlytics enablement in Firebase Console
Initializing Firebase incorrectly
Assuming all iOS versions are supported
5. You want to test Crashlytics setup by forcing a crash in your Android app. Which code snippet correctly triggers a test crash that will appear in Firebase Console?
hard
A. FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(false);
B. FirebaseCrashlytics.getInstance().log("Crash test");
C. throw new RuntimeException("Test Crash");
D. FirebaseCrashlytics.getInstance().recordException(new Exception("Test"));
Solution
Step 1: Identify code that forces a crash
Throwing a RuntimeException immediately crashes the app, which Crashlytics detects and reports.
Step 2: Understand other options
Logging or recording exceptions do not force a crash. Disabling collection prevents reporting.
Final Answer:
throw new RuntimeException("Test Crash"); -> Option C
Quick Check:
Throw exception to force crash for testing [OK]
Hint: Throw exception to force crash, not just log [OK]
Common Mistakes:
Using log or recordException without crashing
Disabling Crashlytics collection by mistake
Expecting logs alone to trigger crash reports
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.