From 7739108a096ab289d158a09e86c3a31a47c62bdf Mon Sep 17 00:00:00 2001 From: Aditya Narayan Malik Date: Mon, 9 Sep 2024 14:31:59 +0530 Subject: [PATCH] TP-82155 | Narayan | Added onboarding analytics (#12406) --- .../navi/pay/analytics/NaviPayAnalytics.kt | 20 +++++++++++++++++++ .../com/navi/pay/entry/NaviPayViewModel.kt | 2 ++ .../add/viewmodel/AccountAdditionViewModel.kt | 1 + .../viewmodel/NaviPayOnboardingViewModel.kt | 4 ++++ .../viewmodel/NaviPayOnboardingViewModelV2.kt | 6 ++++++ 5 files changed, 33 insertions(+) diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/analytics/NaviPayAnalytics.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/analytics/NaviPayAnalytics.kt index 37d403e0ae..1dd0d98442 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/analytics/NaviPayAnalytics.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/analytics/NaviPayAnalytics.kt @@ -859,6 +859,21 @@ class NaviPayAnalytics private constructor() { ) ) } + + fun onSelectedBankAccountSelected(selectedAccount: LinkedAccountEntity) { + NaviTrackEvent.trackEventOnClickStream( + "NaviPay_SelectBank_Account_Selected", + mapOf( + Pair("bankAccountUniqueId", selectedAccount.accountId), + Pair("bankCode", selectedAccount.bankCode), + Pair("bankName", selectedAccount.bankName), + Pair("maskedAccountNumber", selectedAccount.maskedAccountNumber), + Pair("isPinSet", selectedAccount.isMPinSet.toString()), + Pair("accountType", selectedAccount.accountType), + Pair("name", selectedAccount.name) + ) + ) + } } inner class NaviPayConnectedAccounts { @@ -4482,6 +4497,11 @@ class NaviPayAnalytics private constructor() { } inner class NaviPayViewModel { + + fun onNaviPayViewModelInit() { + NaviTrackEvent.trackEventOnClickStream("NaviPay_ViewModel_Init") + } + fun onErrorOccurredInGetQuerySnapshot(exception: Exception) { NaviTrackEvent.trackEventOnClickStream( "NaviPay_ViewModel_ErrorOccurredInGetQuerySnapshot", diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/entry/NaviPayViewModel.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/entry/NaviPayViewModel.kt index 9b3b2da9a0..a84cf16b54 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/entry/NaviPayViewModel.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/entry/NaviPayViewModel.kt @@ -107,6 +107,8 @@ constructor( init { viewModelScope.launch(Dispatchers.IO) { + naviPayAnalytics.onNaviPayViewModelInit() + val taskList = mutableListOf>() taskList.add(async { refreshUiTronScreenResponseUseCase.execute() }) diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/onboarding/account/add/viewmodel/AccountAdditionViewModel.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/onboarding/account/add/viewmodel/AccountAdditionViewModel.kt index f40bf5ac91..efb3eb6423 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/onboarding/account/add/viewmodel/AccountAdditionViewModel.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/onboarding/account/add/viewmodel/AccountAdditionViewModel.kt @@ -433,6 +433,7 @@ constructor( onboardingSource = onboardingSource, naviPaySessionAttributes = naviPaySessionHelper.getNaviPaySessionAttributes() ) + naviPayAnalytics.onSelectedBankAccountSelected(selectedAccount = selectedAccount) handleAddAccountSuccess(selectedAccount = selectedAccount) } } diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/onboarding/binding/viewmodel/NaviPayOnboardingViewModel.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/onboarding/binding/viewmodel/NaviPayOnboardingViewModel.kt index aae05db7d9..537d26a691 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/onboarding/binding/viewmodel/NaviPayOnboardingViewModel.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/onboarding/binding/viewmodel/NaviPayOnboardingViewModel.kt @@ -234,6 +234,10 @@ constructor( fun startSimBinding() { viewModelScope.launch(Dispatchers.IO) { + naviPayAnalytics.onPermissionGranted( + smsPermissionGiven = true, + phonePermissionGiven = true + ) if (selectedSimInfo.value == null || userPhoneNumber.isBlank()) { notifyError() naviPayAnalytics.onSimDataNotFoundBottomDevEvent( diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/onboardingV2/viewmodel/NaviPayOnboardingViewModelV2.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/onboardingV2/viewmodel/NaviPayOnboardingViewModelV2.kt index 93ac9b9f10..95fc48eda7 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/onboardingV2/viewmodel/NaviPayOnboardingViewModelV2.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/onboardingV2/viewmodel/NaviPayOnboardingViewModelV2.kt @@ -768,6 +768,12 @@ constructor( fun startSimBinding() { viewModelScope.safeLaunch(Dispatchers.IO) { + naviPayAnalytics.onPermissionGranted( + onboardingSource = onboardingSource.value, + naviPaySessionAttributes = getNaviPaySessionAttributes(), + smsPermissionGiven = true, + phonePermissionGiven = true + ) if (selectedSimInfo.value == null || userPhoneNumber.isBlank()) { notifyError() naviPayAnalytics.onSimDataNotFoundBottomDevEvent(