Google Analytics for Firebase collects usage and behavior data for your app. The SDK logs two primary types of information:
Events: What is happening in your app, such as user actions, system events, or errors.
User properties: Attributes you define to describe segments of your user base, such as language preference or geographic location.
Analytics automatically logs some events and user properties; you don't need to add any code to enable them.
Before you begin
If you haven't already, add Firebase to your Android project.
Add Analytics to your app
Add the dependency for the Google Analytics for Firebase Android library to your module (app-level) Gradle file (usually
app/build.gradle):implementation 'com.google.firebase:firebase-core:17.0.1'Declare the
com.google.firebase.analytics.FirebaseAnalyticsobject at the top of your activity:Java
private FirebaseAnalytics mFirebaseAnalytics;
Kotlin
private lateinit var firebaseAnalytics: FirebaseAnalytics
Initialize it in the
onCreate()method:Java
// Obtain the FirebaseAnalytics instance. mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);
Kotlin
// Obtain the FirebaseAnalytics instance. firebaseAnalytics = FirebaseAnalytics.getInstance(this)
Log events
After you have created a FirebaseAnalytics instance, you can use it to log
either predefined or custom events with the
logEvent() method. You can explore the predefined
events and parameters in the FirebaseAnalytics.Event and
FirebaseAnalytics.Param reference documentation.
The following code logs a SELECT_CONTENT event when
a user clicks on a specific element in your app.
Java
Bundle bundle = new Bundle(); bundle.putString(FirebaseAnalytics.Param.ITEM_ID, id); bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name); bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "image"); mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle);
Kotlin
val bundle = Bundle() bundle.putString(FirebaseAnalytics.Param.ITEM_ID, id) bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name) bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "image") firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle)
Confirm Events
You can enable verbose logging to monitor logging of events by the SDK to help verify that events are being logged properly. This includes both automatically and manually logged events.
You can enable verbose logging with a series of adb commands:
adb shell setprop log.tag.FA VERBOSE
adb shell setprop log.tag.FA-SVC VERBOSE
adb logcat -v time -s FA FA-SVC
This command displays your events in the Android Studio logcat, helping you immediately verify that events are being sent.
Next Steps
See your data refresh periodically in the Firebase console.
Explore the guides on logging events and setting user properties.

