Firebase Analytics Setups (#246)

* basic setuop

* refactoring
This commit is contained in:
Satish Prasad
2020-02-12 10:46:47 +05:30
committed by GitHub Enterprise
parent 68361916db
commit ade5b59a56
4 changed files with 70 additions and 0 deletions

View File

@@ -105,6 +105,9 @@ dependencies {
implementation 'com.appsflyer:af-android-sdk:5.1.0'
implementation 'com.android.installreferrer:installreferrer:1.0'
// Add the Firebase SDK for Google Analytics
implementation 'com.google.firebase:firebase-analytics:17.2.2'
// AndroidJUnitRunner and JUnit Rules
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test:rules:1.0.2'

View File

@@ -0,0 +1,58 @@
/*
* *
* * Copyright (c) 2020 . All rights reserved @Navi
*
*/
package com.navi.analytics
import android.app.Application
import android.os.Bundle
import com.google.firebase.analytics.FirebaseAnalytics
import com.navi.analytics.FcmAnalyticsUtil.Holder.INSTANCE
import com.navi.app.NaviApplication
class FcmAnalyticsUtil {
private var firebaseAnalytics: FirebaseAnalytics? = null
private object Holder {
val INSTANCE = FcmAnalyticsUtil()
}
fun init(appContext: Application) {
firebaseAnalytics =
FirebaseAnalytics.getInstance(appContext)
}
val firebaseAnalyticsInstance: FirebaseAnalytics
get() {
try {
if (firebaseAnalytics == null) {
firebaseAnalytics =
FirebaseAnalytics.getInstance(NaviApplication.instance.applicationContext)
}
} catch (e: Exception) {
}
return firebaseAnalytics!!
}
fun trackEvent(eventName: String, eventValues: Map<String, String>?) {
var params: Bundle? = null
eventValues?.let {
params = Bundle()
for ((key, value) in eventValues) {
params?.putString(key, value)
}
}
firebaseAnalytics?.logEvent(eventName, params)
}
fun setUserId() {
}
companion object {
val analytics: FcmAnalyticsUtil by lazy { INSTANCE }
}
}

View File

@@ -12,5 +12,8 @@ object NaviTrackEvent {
fun appInit(appContext: NaviApplication) {
AppsFlyerUtil.init(appContext)
FcmAnalyticsUtil.analytics.init(appContext)
}
}

View File

@@ -13,6 +13,7 @@ import androidx.annotation.LayoutRes
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.widget.Toolbar
import com.navi.R
import com.navi.analytics.FcmAnalyticsUtil
import com.navi.common.listeners.ApiCallListener
import com.navi.loader.NaviLoader
@@ -64,6 +65,11 @@ abstract class BaseActivity : AppCompatActivity(), Toolbar.OnMenuItemClickListen
override fun onStart() {
super.onStart()
FcmAnalyticsUtil.analytics.firebaseAnalyticsInstance.setCurrentScreen(
this,
screenName,
null
)
}
override fun onStop() {