diff --git a/app/build.gradle b/app/build.gradle index ebb1582..e0b915a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -63,6 +63,7 @@ dependencies { implementation 'com.google.android.gms:play-services-auth:20.7.0' implementation 'com.google.firebase:firebase-appdistribution:16.0.0-beta11' implementation("com.google.firebase:firebase-appdistribution-api-ktx:16.0.0-beta11") + implementation("com.google.firebase:firebase-analytics-ktx") // Coroutines implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1' diff --git a/app/src/main/java/com/example/hposregistration/HPOSRegistrationApplication.kt b/app/src/main/java/com/example/hposregistration/HPOSRegistrationApplication.kt index e652dc2..4105f86 100644 --- a/app/src/main/java/com/example/hposregistration/HPOSRegistrationApplication.kt +++ b/app/src/main/java/com/example/hposregistration/HPOSRegistrationApplication.kt @@ -1,7 +1,14 @@ package com.example.hposregistration import android.app.Application +import com.google.firebase.analytics.FirebaseAnalytics import dagger.hilt.android.HiltAndroidApp @HiltAndroidApp -class HPOSRegistrationApplication: Application() \ No newline at end of file +class HPOSRegistrationApplication: Application() { + + override fun onCreate() { + super.onCreate() + FirebaseAnalytics.getInstance(this) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/hposregistration/ui/fragments/registration/ReviewDetailsRegistrationFragment.kt b/app/src/main/java/com/example/hposregistration/ui/fragments/registration/ReviewDetailsRegistrationFragment.kt index 085098d..51ca085 100644 --- a/app/src/main/java/com/example/hposregistration/ui/fragments/registration/ReviewDetailsRegistrationFragment.kt +++ b/app/src/main/java/com/example/hposregistration/ui/fragments/registration/ReviewDetailsRegistrationFragment.kt @@ -18,6 +18,9 @@ import com.example.hposregistration.data.Constant import com.example.hposregistration.data.user.UserData import com.example.hposregistration.ui.fragments.BaseFragment import com.example.hposregistration.ui.viewmodels.RegistrationViewModel +import com.google.firebase.analytics.FirebaseAnalytics +import com.google.firebase.analytics.ktx.analytics +import com.google.firebase.ktx.Firebase import dagger.hilt.android.AndroidEntryPoint import `in`.sminnovations.hposregistration.R import `in`.sminnovations.hposregistration.databinding.FragmentReviewDetailsRegistrationBinding @@ -27,6 +30,7 @@ import java.io.OutputStreamWriter import java.text.SimpleDateFormat import java.util.Calendar import java.util.Locale +import java.util.UUID @AndroidEntryPoint class ReviewDetailsRegistrationFragment : BaseFragment() { @@ -40,6 +44,8 @@ class ReviewDetailsRegistrationFragment : BaseFragment() { private var userData = UserData() private var isOnline = false + private lateinit var firebaseAnalytics: FirebaseAnalytics + override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View { @@ -70,6 +76,10 @@ class ReviewDetailsRegistrationFragment : BaseFragment() { binding.btnSubmit.setOnClickListener { logUserData() + + val gaUserId = UUID.randomUUID().toString() + logUserRegistrationEvent(gaUserId, gaUserId, "user_email") + if (isOnline) { // showProgressBar(binding.progressBarCL) // addDataToFirebase() @@ -107,6 +117,18 @@ class ReviewDetailsRegistrationFragment : BaseFragment() { navigateToUserListFragment() } } + + firebaseAnalytics = Firebase.analytics + } + + private fun logUserRegistrationEvent(userId: String, userName: String, userEmail: String) { + val bundle = Bundle() + bundle.putString(FirebaseAnalytics.Param.METHOD, "user_registration_method") + bundle.putString(FirebaseAnalytics.Param.ITEM_ID, userId) + bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, userName) + bundle.putString(FirebaseAnalytics.Param.ITEM_CATEGORY, "user_registration") + + firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SIGN_UP, bundle) } private fun addDataToFirebase() {