Add Firebase gradle configuration

This commit is contained in:
Sylwester Zieliński
2022-04-08 10:47:56 +02:00
parent e618d4c949
commit 83be7390ef
12 changed files with 86 additions and 9 deletions

View File

@@ -0,0 +1,11 @@
apply from: rootProject.file("library.gradle")
android {
namespace 'no.nordicsemi.android.analytics'
}
dependencies {
implementation platform('com.google.firebase:firebase-bom:29.2.1')
implementation 'com.google.firebase:firebase-analytics'
implementation 'com.google.firebase:firebase-crashlytics'
}

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
</manifest>

View File

@@ -0,0 +1,20 @@
package no.nordicsemi.android.analytics
import android.content.Context
import com.google.firebase.analytics.FirebaseAnalytics
import dagger.hilt.android.qualifiers.ApplicationContext
import javax.inject.Inject
import javax.inject.Singleton
@Singleton
class AppAnalytics @Inject constructor(
@ApplicationContext
private val context: Context
) {
private val firebase by lazy { FirebaseAnalytics.getInstance(context) }
fun logEvent(event: ProfileOpenEvent) {
firebase.logEvent(event.firebaseName, null)
}
}

View File

@@ -0,0 +1,16 @@
package no.nordicsemi.android.analytics
enum class ProfileOpenEvent(internal val firebaseName: String) {
BPS("BPS_PROFILE_OPEN"),
CGMS("CGMS_PROFILE_OPEN"),
CSC("CSC_PROFILE_OPEN"),
GLS("GLS_PROFILE_OPEN"),
HRS("HRS_PROFILE_OPEN"),
HTS("HTS_PROFILE_OPEN"),
PRX("PRX_PROFILE_OPEN"),
RSCS("RSCS_PROFILE_OPEN"),
UART("UART_PROFILE_OPEN"),
DFU("DFU_PROFILE_OPEN"),
LOGGER("LOGGER_PROFILE_OPEN"),
}