diff --git a/android/app/src/main/java/com/naviapp/analytics/utils/NaviSDKHelper.kt b/android/app/src/main/java/com/naviapp/analytics/utils/NaviSDKHelper.kt index ef6b21a7cf..bf032b86bd 100644 --- a/android/app/src/main/java/com/naviapp/analytics/utils/NaviSDKHelper.kt +++ b/android/app/src/main/java/com/naviapp/analytics/utils/NaviSDKHelper.kt @@ -28,6 +28,8 @@ import com.navi.base.utils.BaseUtils import com.navi.common.CommonLibManager import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper.DISABLE_ALFRED +import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper.PULSE_EVENT_BATCH_SIZE +import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper.PULSE_EVENT_INTERVAL_IN_SECS import com.navi.common.managers.UserManager import com.navi.common.receiver.AlfredNetworkFailureReceiver import com.navi.common.utils.CommonUtils @@ -84,7 +86,15 @@ object NaviSDKHelper { disableAlfredLogs = FirebaseRemoteConfigHelper.getBoolean(AlfredConstants.DISABLE_ALFRED_LOGS), disableAlfred = FirebaseRemoteConfigHelper.getBoolean(DISABLE_ALFRED), - pulseConfig = PulseConfig(pulseUrl = BuildConfig.PULSE_BASE_URL) + pulseConfig = + PulseConfig( + pulseUrl = BuildConfig.PULSE_BASE_URL, + eventBatchSize = + FirebaseRemoteConfigHelper.getLong(PULSE_EVENT_BATCH_SIZE).toInt(), + eventInterval = + FirebaseRemoteConfigHelper.getLong(PULSE_EVENT_INTERVAL_IN_SECS) + .toInt() + ) ), inAppOptOutScreens ) diff --git a/android/navi-analytics/src/main/java/com/navi/analytics/model/AnalyticsConfiguration.kt b/android/navi-analytics/src/main/java/com/navi/analytics/model/AnalyticsConfiguration.kt index 163afa8d25..259e4f2228 100644 --- a/android/navi-analytics/src/main/java/com/navi/analytics/model/AnalyticsConfiguration.kt +++ b/android/navi-analytics/src/main/java/com/navi/analytics/model/AnalyticsConfiguration.kt @@ -1,6 +1,6 @@ /* * - * * Copyright © 2021-2023 by Navi Technologies Limited + * * Copyright © 2021-2024 by Navi Technologies Limited * * All rights reserved. Strictly confidential * */ @@ -30,7 +30,7 @@ data class MoengageData( val xiaomiPushAppKey: String ) -data class PulseConfig(val pulseUrl: String) { +data class PulseConfig(val pulseUrl: String, val eventBatchSize: Int, val eventInterval: Int) { val pulseCallback = object : PulseCallback { override fun sendResponse(response: Response<*>) { diff --git a/android/navi-analytics/src/main/java/com/navi/analytics/utils/NaviTrackEvent.kt b/android/navi-analytics/src/main/java/com/navi/analytics/utils/NaviTrackEvent.kt index ed0ce57ad9..310c8ffc05 100644 --- a/android/navi-analytics/src/main/java/com/navi/analytics/utils/NaviTrackEvent.kt +++ b/android/navi-analytics/src/main/java/com/navi/analytics/utils/NaviTrackEvent.kt @@ -49,6 +49,8 @@ object NaviTrackEvent { .setAppVersion(analyticsConfiguration.appInfo.appVersionCode) .setAppVersionName(analyticsConfiguration.appInfo.appVersionName) .setDestinationUrl(analyticsConfiguration.pulseConfig.pulseUrl) + .setEventBatchSize(analyticsConfiguration.pulseConfig.eventBatchSize) + .setEventInterval(analyticsConfiguration.pulseConfig.eventInterval) .build() if (analyticsConfiguration.disableAlfred.not()) { val alfredConfig = diff --git a/android/navi-common/src/main/java/com/navi/common/firebaseremoteconfig/FirebaseRemoteConfigHelper.kt b/android/navi-common/src/main/java/com/navi/common/firebaseremoteconfig/FirebaseRemoteConfigHelper.kt index 35f3a13d4c..83b3678ff2 100644 --- a/android/navi-common/src/main/java/com/navi/common/firebaseremoteconfig/FirebaseRemoteConfigHelper.kt +++ b/android/navi-common/src/main/java/com/navi/common/firebaseremoteconfig/FirebaseRemoteConfigHelper.kt @@ -154,6 +154,9 @@ object FirebaseRemoteConfigHelper { const val RESOURCE_MANAGER_URL_LIST = "RESOURCE_MANAGER_URL_LIST" const val RESOURCE_MANAGER_ENABLED = "RESOURCE_MANAGER_ENABLED" + const val PULSE_EVENT_BATCH_SIZE = "PULSE_EVENT_BATCH_SIZE" + const val PULSE_EVENT_INTERVAL_IN_SECS = "PULSE_EVENT_INTERVAL_IN_SECS" + fun init() { remoteConfig = getFirebaseRemoteConfig() } diff --git a/android/navi-common/src/main/res/xml/default_remote_config.xml b/android/navi-common/src/main/res/xml/default_remote_config.xml index f2a215256d..9afcde2735 100644 --- a/android/navi-common/src/main/res/xml/default_remote_config.xml +++ b/android/navi-common/src/main/res/xml/default_remote_config.xml @@ -525,4 +525,12 @@ RESOURCE_MANAGER_URL_LIST {} + + PULSE_EVENT_BATCH_SIZE + 50 + + + PULSE_EVENT_INTERVAL_IN_SECS + 60 + \ No newline at end of file