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