Add AppOpen analytics event

This commit is contained in:
Sylwester Zieliński
2022-04-13 10:17:05 +02:00
parent 2d049cd054
commit 056f2bc57d
4 changed files with 27 additions and 15 deletions

View File

@@ -2,6 +2,19 @@ package no.nordicsemi.android.nrftoolbox
import android.app.Application import android.app.Application
import dagger.hilt.android.HiltAndroidApp import dagger.hilt.android.HiltAndroidApp
import no.nordicsemi.android.analytics.AppAnalytics
import no.nordicsemi.android.analytics.AppOpenEvent
import javax.inject.Inject
@HiltAndroidApp @HiltAndroidApp
class NrfToolboxApplication : Application() class NrfToolboxApplication : Application() {
@Inject
lateinit var analytics: AppAnalytics
override fun onCreate() {
super.onCreate()
analytics.logEvent(AppOpenEvent)
}
}

View File

@@ -9,14 +9,3 @@ dependencies {
implementation 'com.google.firebase:firebase-analytics' implementation 'com.google.firebase:firebase-analytics'
implementation 'com.google.firebase:firebase-crashlytics' implementation 'com.google.firebase:firebase-crashlytics'
} }
task copyGoogleIdValuesTask(type: Copy) {
from 'src/main/res/values/values.xml'
into "$project.buildDir/generated/res/google-services/release/values/"
}
import com.google.firebase.crashlytics.buildtools.gradle.tasks.UploadMappingFileTask
tasks.withType(UploadMappingFileTask).configureEach {
dependsOn(copyGoogleIdValuesTask)
}

View File

@@ -1,11 +1,13 @@
package no.nordicsemi.android.analytics package no.nordicsemi.android.analytics
import android.annotation.SuppressLint
import android.content.Context import android.content.Context
import com.google.firebase.analytics.FirebaseAnalytics import com.google.firebase.analytics.FirebaseAnalytics
import dagger.hilt.android.qualifiers.ApplicationContext import dagger.hilt.android.qualifiers.ApplicationContext
import javax.inject.Inject import javax.inject.Inject
import javax.inject.Singleton import javax.inject.Singleton
@SuppressLint("MissingPermission")
@Singleton @Singleton
class AppAnalytics @Inject constructor( class AppAnalytics @Inject constructor(
@ApplicationContext @ApplicationContext
@@ -14,7 +16,7 @@ class AppAnalytics @Inject constructor(
private val firebase by lazy { FirebaseAnalytics.getInstance(context) } private val firebase by lazy { FirebaseAnalytics.getInstance(context) }
fun logEvent(event: ProfileOpenEvent) { fun logEvent(event: AppEvent) {
firebase.logEvent(event.firebaseName, null) firebase.logEvent(event.eventName, null)
} }
} }

View File

@@ -1,6 +1,14 @@
package no.nordicsemi.android.analytics package no.nordicsemi.android.analytics
enum class ProfileOpenEvent(internal val firebaseName: String) { sealed interface AppEvent {
val eventName: String
}
object AppOpenEvent : AppEvent {
override val eventName: String = "APP_OPEN"
}
enum class ProfileOpenEvent(override val eventName: String) : AppEvent {
BPS("BPS_PROFILE_OPEN"), BPS("BPS_PROFILE_OPEN"),
CGMS("CGMS_PROFILE_OPEN"), CGMS("CGMS_PROFILE_OPEN"),
CSC("CSC_PROFILE_OPEN"), CSC("CSC_PROFILE_OPEN"),