diff --git a/android/navi-chat/src/main/java/com/navi/chat/ui/activities/CRMWebViewActivity.kt b/android/navi-chat/src/main/java/com/navi/chat/ui/activities/CRMWebViewActivity.kt index 28fd84e7e3..b9e617f368 100644 --- a/android/navi-chat/src/main/java/com/navi/chat/ui/activities/CRMWebViewActivity.kt +++ b/android/navi-chat/src/main/java/com/navi/chat/ui/activities/CRMWebViewActivity.kt @@ -33,6 +33,7 @@ import com.navi.chat.models.WebViewIntent import com.navi.chat.network.retrofit.CRMWebViewClient import com.navi.chat.utils.CHAT_BOT_SCREEN_NAME import com.navi.chat.utils.CRM_WEB_VIEW_ACTIVITY +import com.navi.chat.utils.EXTERNAL_DEEPLINK_BASE_URL import com.navi.chat.utils.NAVI_CLICK_ACTION_URL import com.navi.chat.utils.NAVI_JAVA_SCRIPT import com.navi.chat.utils.NaviChatAnalytics @@ -163,13 +164,25 @@ class CRMWebViewActivity : BaseActivity() { } private fun handleNavigation(activity: CRMWebViewActivity, ctaData: CtaData) { - DeepLinkManager.getDeepLinkListener() - ?.navigateTo( - activity = activity, - ctaData, - finish = ctaData.finish.orFalse(), - clearTask = ctaData.clearTask.orFalse() - ) + ctaData.url?.let { + if (it.startsWith(EXTERNAL_DEEPLINK_BASE_URL)) { + DeepLinkManager.getDeepLinkListener() + ?.fetchBranchSDKData( + activity = activity, + it, + finish = ctaData.finish.orFalse(), + clearTask = ctaData.clearTask.orFalse() + ) + } else { + DeepLinkManager.getDeepLinkListener() + ?.navigateTo( + activity = activity, + ctaData = ctaData, + finish = ctaData.finish.orFalse(), + clearTask = ctaData.clearTask.orFalse() + ) + } + } } @SuppressLint("SetJavaScriptEnabled") diff --git a/android/navi-chat/src/main/java/com/navi/chat/utils/Constants.kt b/android/navi-chat/src/main/java/com/navi/chat/utils/Constants.kt index 5141cf8ccc..3e2882892b 100644 --- a/android/navi-chat/src/main/java/com/navi/chat/utils/Constants.kt +++ b/android/navi-chat/src/main/java/com/navi/chat/utils/Constants.kt @@ -153,3 +153,4 @@ const val PRODUCT_TYPE = "productType" const val PRODUCT = "product" const val IS_LANDING_ROUTE_TRUE = "isLandingRoute=true" const val CRM_WEB_VIEW_ACTIVITY = "CRMWebViewActivity" +const val EXTERNAL_DEEPLINK_BASE_URL = "https://m.navi.com"