From 4b3b148eaf38b832202225ea4d79abaee8a41025 Mon Sep 17 00:00:00 2001 From: Sohan Reddy Atukula Date: Thu, 5 Jun 2025 14:29:25 +0530 Subject: [PATCH] NTP-69500 | Sohan | Handling for Appsflyer source in NUX for ZEPTO integration (#16443) --- .../naviapp/analytics/deeplink/DeeplinkManager.kt | 9 +++++++++ .../naviapp/nux/handler/NewUserExperienceHandler.kt | 12 ++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/android/app/src/main/java/com/naviapp/analytics/deeplink/DeeplinkManager.kt b/android/app/src/main/java/com/naviapp/analytics/deeplink/DeeplinkManager.kt index 5aac8c0fea..36c6f7b6d4 100644 --- a/android/app/src/main/java/com/naviapp/analytics/deeplink/DeeplinkManager.kt +++ b/android/app/src/main/java/com/naviapp/analytics/deeplink/DeeplinkManager.kt @@ -12,6 +12,7 @@ import android.net.Uri import android.os.Bundle import com.navi.analytics.utils.NaviTrackEvent import com.navi.base.model.CtaData +import com.navi.base.sharedpref.PreferenceManager import com.navi.base.utils.BaseUtils import com.navi.base.utils.isNotNull import com.navi.base.utils.isNotNullAndNotEmpty @@ -65,6 +66,7 @@ class DeeplinkManager( private const val CUSTOM_OBJECT = "custom_object" private const val IDENTIFIER = "identifier" private const val DEEP_LINK_SUB1 = "deep_link_sub1" + private const val DEEP_LINK_SUB2 = "deep_link_sub2" private const val IS_ADDITIONAL_DATA_NEEDED = "isAdditionalDataNeeded" private const val META_DATA = "metadata" @@ -73,6 +75,7 @@ class DeeplinkManager( const val DEEPLINK_TYPE = "deeplinkType" const val DEEPLINK_MANAGER = "DeeplinkManager" const val NAVILINK_IDENTIFIER = "naviLinkIdentifier" + const val APPSFLYER_SOURCE_IDENTIFIER = "appsFlyerSourceIdentifier" } fun handleDeeplinkData( @@ -99,6 +102,12 @@ class DeeplinkManager( ) return } + if (jsonObject?.optString(DEEP_LINK_SUB2).isNullOrEmpty().not()) { + PreferenceManager.setStringPreference( + APPSFLYER_SOURCE_IDENTIFIER, + jsonObject?.optString(DEEP_LINK_SUB2).orEmpty(), + ) + } val url = jsonObject?.optString(URL)?.replace("-", "/").orEmpty() val source = jsonObject?.optString(Constants.LOGIN_SOURCE) val additionalDataRequired = jsonObject?.optBoolean(ADDITIONAL_DATA_NEEDED) diff --git a/android/app/src/main/java/com/naviapp/nux/handler/NewUserExperienceHandler.kt b/android/app/src/main/java/com/naviapp/nux/handler/NewUserExperienceHandler.kt index 5990fc7d08..02307cca8d 100644 --- a/android/app/src/main/java/com/naviapp/nux/handler/NewUserExperienceHandler.kt +++ b/android/app/src/main/java/com/naviapp/nux/handler/NewUserExperienceHandler.kt @@ -34,6 +34,7 @@ import com.navi.common.utils.log import com.navi.uitron.model.data.UiTronActionData import com.navi.uitron.model.data.UiTronActionType import com.naviapp.BuildConfig +import com.naviapp.analytics.deeplink.DeeplinkManager.Companion.APPSFLYER_SOURCE_IDENTIFIER import com.naviapp.common.navigator.NaviDeepLinkNavigator.HOME import com.naviapp.common.navigator.NaviDeepLinkNavigator.REGISTRATION import com.naviapp.network.di.DataDeserializers @@ -112,12 +113,15 @@ constructor( screenId: String, naeScreenName: String, ): NaviCacheAltSourceEntity { + val inputMap = + mutableMapOf(SOURCE to queryMap[SOURCE]).apply { + PreferenceManager.getStringPreference(APPSFLYER_SOURCE_IDENTIFIER)?.let { + this[APPSFLYER_SOURCE_IDENTIFIER] = it + } + } val response = nuxRepository.fetchNuxScreenResponse( - AlchemistScreenRequest( - screenName = screenId, - inputMap = mapOf(SOURCE to queryMap[SOURCE]), - ), + AlchemistScreenRequest(screenName = screenId, inputMap = inputMap), naeScreenName = naeScreenName, ) if (response.isValidResponse()) {