Symptom

Firebase BOM and firebase-analytics were on the classpath, Firebase.analytics was instantiated in MainActivity.onCreate, but no events were ever logged, and neither Crashlytics nor Performance Monitoring were wired in. Crash reports and performance traces from production Android devices were not reaching the Firebase console.

Root cause

Three independent gaps:

A secondary AGP 9.x compatibility issue surfaced while wiring this: the com.google.firebase.firebase-perf Gradle plugin (v2.0.0) still depends on the removed AGP Transform API and refuses to apply on AGP 9.x with Could not generate a decorated class for type FirebasePerfPlugin … com/android/build/api/transform/Transform.

Fix

androidApp/build.gradle.kts — added firebase-crashlytics, firebase-perf, and the com.google.firebase.crashlytics Gradle plugin (the perf plugin is intentionally not applied; see Prevention). gradle/libs.versions.toml gained matching version refs.

A new androidApp/src/main/kotlin/krill/zone/FirebaseInitializer.kt is the single init point: called from KrillApplication.onCreate, it explicitly enables collection on all three services, sets installId() as the user identifier and custom key (so an event, crash, and trace from the same device line up in the console), logs app_open once at cold start, and subscribes to AppLifecycle.isForeground to log app_open/app_background on each transition. MainActivity now wraps its Compose setup in a manual activity_startup performance trace.

Prevention