How To Add Firebase Analytics To Android
April 18, 2018Step 1: Add Firebase To Android.
Edit module/app build.gradle
.
dependencies {
// https://firebase.google.com/support/release-notes/android
implementation 'com.google.firebase:firebase-core:12.0.1'
}
NOTE: com.google.firebase:firebase-core
is a recommended alias for the com.google.firebase:firebase-analytics
library.
Once you included com.google.firebase:firebase-core
, Firebase Analytics automatically track all activty view event (you don’t have to write any code).
If you need to log custom events
val analytics = FirebaseAnalytics.getInstance(this)
val bundle = Bundle();
bundle.putString(FirebaseAnalytics.Param.ITEM_ID, id)
bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name)
bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "image")
analytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle)
NOTE: I have yet to deeper than activity event logging, so refer to Firebase Analytics Doc for more info.
Disable Analytics For Debug Build
I believe Firebase Analytics
is enabled by default, even for Debug
build.
To disable analytics for Debug build, edit app/module build.gradle
.
android {
// ...
buildTypes {
debug {
// manifestPlaceholders = [crashlyticsEnabled: false, analyticsEnabled: false]
manifestPlaceholders = [analyticsEnabled: false]
}
release {
manifestPlaceholders = [analyticsEnabled: true]
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
Edit AndroidManifest.xml
.
<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
<application ...>
<meta-data
android:name="firebase_analytics_collection_enabled"
android:value="${analyticsEnabled}" />
...
</application>
</manifest>
Firebase Analytics Report
To retrieve the Analytics report, goto Firebase Console, select project, click Analytics -> Dashboard
from the left panel.
Active Users
are recorded by default.
Activity/Screen
engagement are recorded by default.
Basic Events
are recorded by default.
References:
- algolia
- analytics
- android
- android-ktx
- android-permission
- android-studio
- apps-script
- bash
- bootstrap
- bootstrapvue
- chartjs
- chrome
- cloud-functions
- coding-interview
- coroutines
- crashlytics
- css
- dagger2
- datastore
- datetime
- docker
- eslint
- firebase
- firebase-auth
- firebase-hosting
- firestore
- firestore-security-rules
- flask
- fontawesome
- fresco
- git
- github
- glide
- google-app-engine
- google-cloud-storage
- google-colab
- google-drive
- google-maps
- google-places
- google-play
- google-sheets
- gradle
- html
- hugo
- inkscape
- java
- java-time
- javascript
- jetson-nano
- kotlin
- layout
- lets-encrypt
- lifecycle
- linux
- logging
- lubuntu
- markdown
- mate
- material-design
- matplotlib
- md5
- mongodb
- moshi
- mplfinance
- mysql
- navigation
- nginx
- nodejs
- npm
- nuxtjs
- nvm
- pandas
- payment
- pip
- pwa
- pyenv
- python
- recylerview
- regex
- room
- rxjava
- scoped-storage
- selenium
- social-media
- ssh
- ssl
- static-site-generator
- static-website-hosting
- sublime-text
- ubuntu
- unit-test
- uwsgi
- viewmodel
- viewpager2
- virtualbox
- vue-chartjs
- vue-cli
- vue-router
- vuejs
- vuelidate
- vuepress
- web-development
- web-hosting
- webpack
- windows
- workmanager
- wsl
- yarn