Bird
Raised Fist0
Firebasecloud~10 mins

Crash reporting in Firebase - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to initialize Firebase Crashlytics in your app.

Firebase
FirebaseCrashlytics [1] = FirebaseCrashlytics.getInstance();
Drag options to blanks, or click blank then click option'
Ainitialize
Bsetup
Ccrashlytics
Dstart
Attempts:
3 left
💡 Hint
Common Mistakes
Using method names instead of variable names
Forgetting to assign the instance to a variable
2fill in blank
medium

Complete the code to log a custom message to Crashlytics.

Firebase
crashlytics.[1]("User clicked the button");
Drag options to blanks, or click blank then click option'
Atrack
Blog
Csend
Dreport
Attempts:
3 left
💡 Hint
Common Mistakes
Using report or send which are not valid methods
Using track which is not a Crashlytics method
3fill in blank
hard

Fix the error in the code to record a non-fatal exception in Crashlytics.

Firebase
crashlytics.[1](new Exception("Network error"));
Drag options to blanks, or click blank then click option'
ArecordException
BsendException
ClogException
DcaptureException
Attempts:
3 left
💡 Hint
Common Mistakes
Using non-existent methods like sendException
Confusing with logging methods
4fill in blank
hard

Fill both blanks to set a user identifier and enable Crashlytics collection.

Firebase
crashlytics.[1]("user_123");
crashlytics.[2](true);
Drag options to blanks, or click blank then click option'
AsetUserId
BsetUser
CsetCrashlyticsCollectionEnabled
DenableCrashlytics
Attempts:
3 left
💡 Hint
Common Mistakes
Using incorrect method names like setUser
Using enableCrashlytics which does not exist
5fill in blank
hard

Fill all three blanks to record a custom key, log a message, and force a crash.

Firebase
crashlytics.[1]("last_screen", "Home");
crashlytics.[2]("App crashed due to unexpected input");
crashlytics.[3]();
Drag options to blanks, or click blank then click option'
AsetCustomKey
Blog
Ccrash
DrecordException
Attempts:
3 left
💡 Hint
Common Mistakes
Using recordException instead of crash to force a crash
Mixing up method names

Practice

(1/5)
1. What is the main purpose of Firebase Crashlytics in an app?
easy
A. To store user data securely
B. To manage user authentication
C. To improve app loading speed
D. To automatically collect and report app crashes

Solution

  1. Step 1: Understand Crashlytics role

    Firebase Crashlytics is designed to track and report app crashes automatically.
  2. Step 2: Compare with other options

    Storing user data, improving speed, and managing authentication are not Crashlytics functions.
  3. Final Answer:

    To automatically collect and report app crashes -> Option D
  4. Quick Check:

    Crashlytics = crash reporting [OK]
Hint: Crashlytics = crash reports, not data or speed [OK]
Common Mistakes:
  • Confusing Crashlytics with user data storage
  • Thinking it speeds up the app
  • Mixing it with authentication services
2. Which Firebase Crashlytics method is used to log custom messages before a crash?
easy
A. crashlytics.sendReport()
B. crashlytics.recordError()
C. crashlytics.log()
D. crashlytics.startSession()

Solution

  1. Step 1: Identify logging method

    The method to add custom logs before a crash is crashlytics.log().
  2. Step 2: Understand other methods

    recordError() reports errors, sendReport() and startSession() are not valid Crashlytics methods.
  3. Final Answer:

    crashlytics.log() -> Option C
  4. Quick Check:

    Logging = crashlytics.log() [OK]
Hint: Use .log() to add messages before crash [OK]
Common Mistakes:
  • Using recordError() to log messages
  • Assuming sendReport() exists
  • Confusing startSession() with logging
3. Given this code snippet, what will Crashlytics report?
try {
  throw new Error('Test crash');
} catch (e) {
  firebase.crashlytics().recordError(e);
}
medium
A. Crashlytics reports a non-fatal error with message 'Test crash'
B. Crashlytics logs a warning but no error
C. App crashes immediately without reporting
D. No crash reported because error is caught

Solution

  1. Step 1: Analyze try-catch behavior

    The error is thrown but caught, so the app does not crash.
  2. Step 2: Understand recordError effect

    recordError() sends a non-fatal error report to Crashlytics with the error message.
  3. Final Answer:

    Crashlytics reports a non-fatal error with message 'Test crash' -> Option A
  4. Quick Check:

    recordError() = non-fatal error report [OK]
Hint: recordError() reports caught errors as non-fatal [OK]
Common Mistakes:
  • Thinking caught errors cause app crash
  • Assuming no report if error is caught
  • Confusing recordError() with crash trigger
4. You added firebase.crashlytics().log('User clicked button'); but no logs appear in Crashlytics dashboard. What is the likely issue?
medium
A. Logs only appear after a crash occurs
B. log() method does not exist in Crashlytics
C. Crashlytics SDK is not initialized properly
D. You must call sendReport() to send logs

Solution

  1. Step 1: Check Crashlytics log behavior

    Logs sent by log() appear only when a crash happens afterward.
  2. Step 2: Verify other options

    SDK initialization is required but if logs never appear, it's likely due to no crash. log() exists and sendReport() is not a Crashlytics method.
  3. Final Answer:

    Logs only appear after a crash occurs -> Option A
  4. Quick Check:

    Logs show after crash [OK]
Hint: Logs appear only after crash triggers [OK]
Common Mistakes:
  • Assuming logs show immediately
  • Thinking log() method is missing
  • Trying to send logs manually
5. How can you ensure that a caught error with extra context is reported to Firebase Crashlytics as a non-fatal issue with custom keys?
hard
A. Only use crashlytics().log() with error message
B. Use crashlytics().setCustomKey() before recordError()
C. Throw the error again to trigger a crash
D. Call crashlytics().sendReport() after catching error

Solution

  1. Step 1: Add context with custom keys

    Use setCustomKey() to add extra info about the error context.
  2. Step 2: Report error as non-fatal

    Call recordError() to send the caught error along with custom keys to Crashlytics.
  3. Final Answer:

    Use crashlytics().setCustomKey() before recordError() -> Option B
  4. Quick Check:

    Custom keys + recordError() = detailed non-fatal report [OK]
Hint: Set keys before recordError() for context [OK]
Common Mistakes:
  • Only logging message without keys
  • Throwing error again causes crash
  • Using non-existent sendReport() method
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard