I'm extremely curious how there is 0 code written within the application and all that is required is to use the library
compile 'com.google.firebase:firebase-crash:9.0.1'
in order to get firebase crash reporting working. Is the initialization always a one time thing like how the application class' onCreate is always called just once?
What do I do if i want to enable crash reporting only after a certain event?
Update: There is now a comprehensive blog post about how Firebase components initialize.
Firebase Crash Reporting (in addition to other Firebase components) initialize in a ContentProvider that's included into your app automatically. ContentProviders are instantiated first, then your Application subclass, then whatever component was invoked (Activity, Service, BroadcastReciever).
When your project depends on an Android Library project (aar file), all of its manifest entries are merged into your app, so you get this ContentProvider for free simply by declaring declaring the dependency on firebase-crash.
I gave a talk at Google I/O 2016 about how this all works. Jump to 16:22 for the beginning of the content specific to crash reporting.
Unfortunately there is currently no way to programmatically enable or disable crash reporting, but that is coming soon.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With