NTP-28569: Track Adverse CTA page open events (#14699)
This commit is contained in:
@@ -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(),
|
||||
)
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user