Connect Android SDK configuration reference

The Connect SDK for Android is configured through three files in your app's assets/ directory:

  • ConnectBasicConfig.properties — Connect-layer settings (credentials, kill switch, capture behavior, sessionization).
  • EOCoreBasicConfig.properties — EOCore-layer settings (Logcat output, local cache, posting cadence).
  • EOCoreAdvancedConfig.json — advanced data transport, session, and orientation settings.

All three files are optional — the SDK ships with built-in defaults for every setting. To override a default, create the file manually in your app's assets/ directory and add only the keys you want to change. Anything you do not include keeps its bundled default.

Languages: Kotlin and Java

Availability: Pro, Premium, and Ultimate

ConnectBasicConfig.properties

App key and collector URL

PropertyDefaultDescription
AppKeyYour Connect application key. If set here, you can pass null to Connect.enable().
PostMessageUrlYour Connect collector URL. If set here, you can pass null to Connect.enable().

Kill switch

The kill switch lets you remotely disable the SDK on users' devices without releasing a new app version.

PropertyDefaultDescription
KillSwitchEnabledfalseSet to true to enable the kill switch. Required for production — see Prepare for production.
KillSwitchUrlYour kill switch URL. Format: https://{collector_host}/collector/switch/{app_key}.
KillSwitchMaxNumberOfTries3Number of attempts to reach the kill switch URL before giving up. Must be at least 1.
KillSwitchTimeInterval5Time in seconds to wait between kill switch attempts.

Screenshot settings

The SDK captures screenshots for session replay automatically and through Connect.takeScreenShot(). These settings control the format, size, and compression of every captured image.

PropertyDefaultDescription
ScreenshotFormatJPGScreenshot format. Valid values: JPG, PNG. PNG ignores PercentToCompressImage.
PercentOfScreenshotsSize40Percentage of the original screen dimensions at which screenshots are submitted. Range: 1–100. Lower values reduce data size but may affect replay clarity.
PercentToCompressImage80JPG compression percentage. Range: 1–100. Only applies to JPG format.
ScreenShotPixelDensity1.5Pixel density used when taking screenshots. Valid values: 1, 1.5, 2, 3.

Screen layout capture

PropertyDefaultDescription
LogViewLayoutOnScreenTransitiontrueWhether to capture the screen layout on each screen transition.
GetImageDataOnScreenLayoutfalseWhether to include image data from ImageView elements in layout captures.

Gesture capture

PropertyDefaultDescription
SetGestureDetectortrueWhether to enable gesture capture. Requires Connect.dispatchTouchEvent() to be called from your base activity.
CaptureNativeGesturesOnWebviewfalseWhether to capture native gestures on WebView elements.

Session settings

PropertyDefaultDescription
SessionTimeout30Session timeout in minutes. Set to 0 to rely on cookie expiry instead.
SessionTimeoutKillSwitchfalseWhether to request a new session ID from the kill switch URL on session timeout.

Cookie settings

Used for session identification. Modify only if your app requires custom sessionization.

PropertyDefaultDescription
CookieUrlURL used to set the session cookie.
CookieParamTLTSIDCookie parameter name for the session ID.
CookiePath/Cookie path.
CookieDomainCookie domain.
CookieExpiresfalseWhether to add an expiry to the cookie. Expiry = current time + SessionTimeout.
CookieSecuretrueWhether to create a secure cookie (HTTPS only).
CookieExpiresFormatASCTIMEDate format for cookie expiry. Valid values: ASCTIME, RFC1036, RFC1123.

Device identification

PropertyDefaultDescription
disableTLTDIDfalseWhether to suppress the SDK's device-ID header (X-Connect-TLTDID) and the TLTDID value appended to outgoing cookies. Set to true if compliance or privacy requirements prohibit persistent device identifiers. Leaving it false (the default) is correct for most apps — the device ID lets Connect tie multiple sessions from the same device into a single device profile.

Capture defaults

Default log levels used by capture methods when no level is passed explicitly. The numeric scale matches LoggingLevel: 1 = error, 2 = warning, 3 = info, 5 = verbose.

PropertyDefaultDescription
PrintScreen3Default log level for Connect.takeScreenShot() calls when no level is specified.
Connection3Default log level for Connect.logConnection() calls when no level is specified.
MaxStringsLength300Maximum length, in characters, for captured string values. Values longer than this are truncated.

EOCoreBasicConfig.properties

EOCore-layer settings that control Logcat output, on-device caching, and how often the SDK posts batched data to the collector.

Logging

PropertyDefaultDescription
LoggingLevel3Severity threshold for what the SDK collects and posts. 1 = error, 2 = warning, 3 = info, 5 = verbose.
DisplayLoggingtrueWhether to print SDK output to Logcat. Disable before shipping to production — ERROR-level messages continue to surface.

Local cache

Controls how the SDK persists batched data on the device when the collector is unreachable.

PropertyDefaultDescription
PersistLocalCachetrueWhether to persist cached messages to the app's sandbox so they survive process restarts.
CachingLevel3Severity threshold for what the SDK writes to the local cache. Same scale as LoggingLevel.

Post batching

Controls how the SDK groups and dispatches captured messages to the collector. Defaults match production-ready values; override only if your network conditions or data volume require tuning.

PropertyDefaultDescription
PostMessageLevelWiFi3Minimum severity that triggers a post over Wi-Fi. Messages below this level are buffered.
PostMessageLevelCellular3Minimum severity that triggers a post over cellular networks. Messages below this level are buffered.
ManualPostEnabledfalseIf true, the SDK does not post on its own — your app must call Connect.forcePost() to flush. If false, the SDK posts on its own cadence (see DoPostOnIntervals settings).
DoPostOnIntervalstrueWhether the SDK posts on a fixed interval. Only applies when ManualPostEnabled=false.
PostMessageTimeInterval30Time in seconds between posts when DoPostOnIntervals=true.

EOCoreAdvancedConfig.json

Advanced data transport and session settings. Override by placing an EOCoreAdvancedConfig.json file in your app's assets/ directory.

Data transport

PropertyDefaultDescription
CachedFileMaxBytesSize400000Maximum size in bytes of each cached data file (~400 KB).
MaxNumberOfFilesToCache5Maximum number of data files to cache when the collector is unreachable. Total potential cache: ~2 MB.
PostMessageMaxBytesSize2048000Maximum size in bytes of each outgoing message (~2 MB).
PostMessageTimeout3000Timeout in milliseconds for establishing a connection to the collector.
PostMessageSocketTimeout3000Timeout in milliseconds for waiting for a response from the collector.
CompressPostMessagetrueWhether to gzip-compress outgoing messages.
BufferPercent20Percentage of CachedFileMaxBytesSize to use as an in-memory buffer before writing to disk.

Session and orientation

PropertyDefaultDescription
ApplicationBackgroundTimeInterval60Time in seconds the app can spend in the background before the session is considered ended.
OrientationSensorDelay100000Delay in microseconds between orientation sensor readings.
OrientationDelayNotificationToModules1000Delay in milliseconds before notifying modules of an orientation change.
TurnOffCorrectOrientationUpdatesfalseWhether to disable orientation correction updates.
DefaultOrientation0Default orientation when none can be detected. 0 = portrait.
ApplicationInBackgroundEnabledtrueWhether to continue capturing data when the app is in the background.