NTP-28569: Track Adverse CTA page open events (#14699)

This commit is contained in:
Siddiboina Susai
2025-01-28 13:19:34 +05:30
committed by GitHub
parent b50f676f2d
commit 0a4d014242
5 changed files with 42 additions and 2 deletions

View File

@@ -9,6 +9,7 @@ package com.naviapp.adverse
import android.app.Activity
import android.content.Intent
import android.os.Bundle
import androidx.core.net.toUri
import com.google.gson.Gson
import com.google.gson.GsonBuilder
@@ -27,6 +28,7 @@ import com.navi.base.utils.NetWatchManger
import com.navi.base.utils.orFalse
import com.navi.common.uitron.model.action.CtaAction
import com.navi.common.utils.Constants.ADVERSE
import com.navi.common.utils.Constants.PAGE_LAUNCH_SOURCE
import com.navi.common.utils.getSessionId
import com.navi.common.utils.registerUiTronDeSerializers
import com.navi.uitron.model.action.AnalyticsAction
@@ -73,16 +75,20 @@ class AdverseDependencyProvider : IAdverseDependencyProvider {
fun onCtaClick(ctaData: CtaData?, activity: Activity) {
ctaData?.let { cta ->
cta.bundle?.putString(PAGE_LAUNCH_SOURCE, ADVERSE)
if (ctaData.type == DYNAMIC_DEEPLINK && ctaData.url?.contains("http") == true) {
val intent = Intent(activity, DeeplinkManagementActivity::class.java)
intent.data = ctaData.url?.toUri()
intent.putExtra(BRANCH_NEW_SESSION, true)
intent.putExtra(PAGE_LAUNCH_SOURCE, ADVERSE)
activity.startActivity(intent)
} else {
DeepLinkManager.getDeepLinkListener()
?.navigateTo(
activity = activity,
ctaData = cta,
bundle = Bundle().apply { putString(PAGE_LAUNCH_SOURCE, ADVERSE) },
finish = cta.finish.orFalse(),
clearTask = cta.clearTask.orFalse(),
)

View File

@@ -26,6 +26,7 @@ import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper.DEEPLINK_
import com.navi.common.model.ModuleNameV2
import com.navi.common.usecase.DeferredActionUseCase
import com.navi.common.utils.Constants.IS_REDIRECTING_FROM_DEEPLINK_ACTIVITY
import com.navi.common.utils.Constants.PAGE_LAUNCH_SOURCE
import com.navi.common.utils.TemporaryStorageHelper
import com.navi.common.utils.getDeviceSignature
import com.navi.common.utils.getLocalStorageLocation
@@ -158,6 +159,24 @@ class DeeplinkManagementActivity : BaseLauncherActivity() {
private fun processDeeplink(deeplinkData: DeeplinkData?) {
deferredActionUseCase.get().cancelJob()
analyticsTracker.sendProcessDeeplinkEvent(deeplinkData)
intent.getStringExtra(PAGE_LAUNCH_SOURCE)?.let { pageLaunchSource ->
deeplinkData?.let {
deeplinkData.deeplinkJsonObject?.put(PAGE_LAUNCH_SOURCE, pageLaunchSource)
deeplinkData.uriData?.let { uri ->
deeplinkData.uriData =
uri.buildUpon()
.appendQueryParameter(PAGE_LAUNCH_SOURCE, pageLaunchSource)
.build()
}
deeplinkData.ctaData = deeplinkData.ctaData ?: CtaData()
deeplinkData.ctaData?.bundle = deeplinkData.ctaData?.bundle ?: Bundle()
deeplinkData.ctaData?.bundle?.putString(PAGE_LAUNCH_SOURCE, pageLaunchSource)
}
}
deeplinkNavigation.redirectToDestination(
activity = this,
deeplinkData = deeplinkData,