Configuration files for the Android SDK library

EOCoreBasicConfig.properties

Log level settings

The log level settings configure base logging settings.

Item ID
Description
Values

LoggingLevel

The current logging level, applies only when log level is not indicated in the log statement.

  • 0 does not send log data.
  • 1 has the highest priority (critical).
  • 2 has a medium priority (important).
  • 3 has the lowest priority (information).

Integer, 0-3


DisplayLogging


When set to true, debug log statements are displayed in LogCat. Filter for the UICAndroid tag in LogCat.


true/false

Local cache file settings

You use these settings to configure use of the device's local cache.

Item ID
Description
Values

PersistLocalCache

If true, data is stored in local storage on the device, instead of in memory. CachingLevel must also be configured.

true/false


CachingLevel


The current caching level. Applies only when HasToPersistLocalCache is true.
0 does not send log data.
1 has the highest priority (critical).
2 has a medium priority (important).
3 has the lowest priority (information).


Integer, 0-3

Post settings

These settings control the logging level, URL, volume, and frequency of posts to the target page.

Item ID
Description
Values

PostMessageLevelWiFi

The logging level of events to be sent to the server over Wi-Fi when network performance is good.
0 does not send log data.
1 has the highest priority (critical).
2 has a medium priority (important).
3 has the lowest priority (information).

Integer, 0-3


PostMessageLevelCellular


The logging level of events to be sent to the server over the cellular (3G) network.
0 does not send log data.
1 has the highest priority (critical).
2 has a medium priority (important).
3 has the lowest priority (information).


Integer, 0-3


MaxStringsLength


Maximum string length to be sent to target page per value in log statements. Prevents long strings from taking up storage and bandwidth.
Note: This value must be set to at least 1.


Integer


ManualPostEnabled


If true, the framework sends data to the server only when your application calls requestManualServerPost.
If set to false, you must configure the following settings.
Note: You cannot enable this setting and DoPostOnIntervals together. However, one of these options must be true. By default, it is set to false to allow automatic posting.


true/false


DoPostOnIntervals


If true, the framework sends data to the server at regular time intervals that are specified by PostMessageTimeIntervals when the application is in the foreground. This value must be set to true if ManualPostEnabled=false.
Note: You cannot enable this setting and ManualPostEnabled together. However, one of these options must be true.


true/false


PostMessageTimeIntervals


How often the framework sends data to the server when DoPostOnIntervals is set to true.


Seconds

EOCoreAdvancedConfig.json

Internal settings: DO NOT CHANGE

Do not change these settings unless directed to do so by Acoustic Tealeaf.

Item ID
Description
Values

CachedFileMaxBytesSize

Maximum number of bytes to be stored on device. The larger value between CachedFileMaxBytesSize or PostMessageMaxBytesSize is used to queue data. If too small, data could be truncated or deleted odd queue.

Bytes


PostMessageMaxBytesSize


Maximum number of bytes to be stored on device. The larger value between CachedFileMaxBytesSize or PostMessageMaxBytesSize is used to queue data. If too small, data could be truncated or deleted odd queue.


Bytes


PostMessageSocketTimeout


The socket timeout for the framework's posts to the server. While the framework does not receive a server response within this time frame, the framework keeps trying to send data.


Seconds


CompressPostMessage


When set to true, HTTP POSTs submitted from the framework are compressed in compress format.
Note: To extract the compressed POSTs, some additional server-side configuration can be required. See Getting started with Acoustic Experience Analytics (Tealeaf) SDK for Android for more information.


true/false


BufferPercent


Percentage to remove from BufferLimit before it gets saved to cache if enabled.


Percentage


OrientationSensorDelay


Amount of time to wait before getting orientation change. There is a delay due to layout orientation changes.


Milliseconds


OrientationDelayNotificationToModules


Amount of time to wait before sending new orientation to modules.


Milliseconds


ApplicationBackgroundTimeInterval


Amount of time to wait until you check to see if application is in background.


Seconds


TurnOffCorrectOrientationUpdates


Used to turn orientation of layout changing.


true/false


DefaultOrientation


Default orientation to be given for layout.


0, 90, 180, -180


LibraryVersion


Library version of the EOCore library.


String


MessageVersion


Current Tealeaf message version.


String


MNCMCC


This is used to get correct carrier values, because we have noticed that carriers have not been updating correct this value on the device. It is based on mobile network code (MNC) and mobile country code (MCC). You can review latest values at http://www.mcc-mnc.com.


Array of values

TealeafBasicConfig.properties

KillSwitch settings

These settings control the killswitch and whether to use a white list of the phone whose events can be captured.

Item ID
Description
Values

KillSwitchEnabled

If true, the framework checks the killswitch target page before starting. You must specify the following properties.
If KillSwitchEnabled=false, the framework always starts.

true/false


KillSwitchUrl


Defines the URL to check for the killswitch. The framework requires a successful response to initialize when KillSwitchEnabled is set to true.


URL


KillSwitchMaxNumberOfTries


The number of times the framework checks for the killswitch URL before giving up. This value should be set to at least 1.


Integer


KillSwitchTimeInterval


The time to wait before rechecking the killswitch URL if it is not responding.


Seconds


UseWhiteList


If true and KillSwitchEnabled, the framework requires a phone ID to assign before calling Enable to check the white list of phone IDs.
If false and KillSwitchEnabled, the framework defaults to use random sampling.


true/false


WhiteListParam


Parameter that is used to send the white list ID corresponding to the phone ID.


Current white list server used id

Post settings

These settings control the logging level, URL, vloume, and frequency of posts to the target page.

Item ID
Description
Values

PostMessageUrl

The URL for posting data to your server.
Note: To enable secure transport between the logging framework and the target page, configure this URL to begin with https://.For more information about the target page, see Getting started with Acoustic Experience Analytics (Tealeaf) SDK for Android.

URL


PrintScreen


The logging level of a screen shot to be sent to the server.
0 does not send log data.
1 has the highest priority (critical).
2 has a medium priority (important).
3 has the lowest priority (information).


Integer, 0-3


Connection


The logging level of connection events of type connection to be sent to the server that produces type 3 data.
0 does not send log data.
1 has the highest priority (critical).
2 has a medium priority (important).
3 has the lowest priority (information).


Integer, 0-3


MaxStringsLength


Maximum string length to be sent to target page per value in log statements. Prevents long strings from taking up storage and bandwidth.
Note: This value must be set to at least 1.


Integer

Masking settings

These settings control privacy masking.

Item ID
Description
Values

HasMasking

Can be true or false to mask values of controls. If HasMasking=true, then complete MaskIdList.

true/false


MaskIdList


Comma delimited IDs or regular expressions to find IDs.


String


HasCustomMask


Can be true or false. Use the following values below if true.


true/false


SensitiveSmallCaseAlphabet


The character to be used by a small case letter.


String


SensitiveCapitalCaseAlphabet


The character to be used by a capital case letter.


String


SensitiveSymbol


The character to be used by a symbol.


String


SensitiveNumber


The character to be used by a number.


String

Cookie settings

These settings control cookies.

Item ID
Description
Values

CookieUrl

The cookie URL. For example, http://m.staussandplesser.com

String


CookieParam


The parameter of the cookie that is used for sessionization of the application. For example, TLTSID or JSESSIONID.


String


CookiePath


The path of the cookie. For example, /.


String


CookieDomain


The domain of the cookie. For example, .straussandplesser.com.


String


CookieExpires


Whether the cookies expires.


true/false


CookieSecure


If set to true, a secure parameter is added to the cookie. This can only be used in https post URLs.


true/false


CookieExpiresFormat


This setting is used to indicate the cookie expiration format.


Valid date formats: ASCTIME, RFC1036, or RFC1123

Session timeout setting

This setting controls session timeouts

Item ID
Description
Values

SessionTimeout

When SessionTimeout is set, the expiration of the cookie is the current time plus the session timeout value.

Minutes


SessionTimeoutKillSwitch


Whether to call the killswitch for a new session ID to be created. The default setting is false.


true/false

Screenshot settings

These settings control screenshots.

Note

You can store screenshots in memory instead of in local memory on the device. To enable screenshots to save in memory, you must set HasToPersistLocalCache to false in the local cache file settings.

Item ID
Description
Values

ScreenshotFormat

The format of the screen shot.

PNG/JPG


PercentOfScreenshotsSize


The percentage of screen capture's original pixel dimensions that posted screen captures are submitted, 1-100.


Integer, 1-100


PercentToCompressImage


Percentage to compress the image. This setting can only be used for JPG images. PNG images ignore this setting and default to 100.


Integer, 1-100


ScreenShotPixelDensity


Enhanced mobile replay screenshot image density. This setting can support values of 0, 1.5, 2, 3, 3.5 and 4. Default is set to 1.5 or 240DPI. 0 value uses target device's densityDPI value.


Integer, 0,1.5,2,3,3.5,4

Capture native layout settings

These settings control capture of native layout.

Item ID
Description
Values

LogViewLayoutOnScreenTransition

When set to true, UICAndroid logs the screen layout. When set to false, the screen layout is not logged, which produces type 10 data.

true/false


GetImageDataOnScreenLayout


This should be set to true for prototyping to view base64 data being sent to server to display images correct during replay. The image data should be later extracted and setup on server and switched to false for production of application being released.


true/false

Gesture enabled settings

These settings control the capture of native layout.

Item ID
Description
Values

SetGestureDetector

When set to true, UICAndroid logs the gestures. When set to false, gestures are not logged, which produces type 11 data.

true/false


CaptureNativeGesturesOnWebview


When set to true, UICAndroid logs the gestures in a webview. When set to false, gestures are not logged, which produces type 11 data. The default is false, because gesture data for webview should come from UI Capture library that has better information of webview.


true/false

Auto-Geolocation settings

These settings control auto-geolocation.

Item ID
Description
Values

LogLocationEnabled

When set to true, UICAndroid logs the location. When set to false, location is not logged, which produces type 13 data.

true/false


LogLocationTries


The amount of times to try to get location. It should be set to at least 1.


Integer


LogLocationTimeout


The amount of time to wait before to try to get a location in case it was unable to be obtained the first time.


Seconds

Hybrid Application settings

This setting is for single-activity, hybrid applications. It allows the SDK to queue and post JSON messages when they are collected, instead of waiting for current activity to be in the background before sending the payload to the server. For more information about hybrid applications, see Hybrid applications for Android.

Item ID
Description
Values

SingleScreenHybridApp

  • For a single-screen, hybrid application with one Activity, set to true. For example, the following frameworks need this setting to be true: Cordova, PhoneGap, and Ionic.

  • For a hybrid application with more than one Activity, set to false. For example, Google WebView auto-instrumentation need this setting to be false.

true/false

Auto-Instrumentation settings

These settings control auto-instrumentation.

Item ID
Description
Values

DisableAutoInstrumentation

To enable auto-instrumentation, you must have the TeaCuts.jar installed and this value set to false.

true/false

Application key settings

These settings control the application key.

An application key (AppKey) setting is used to identify and sessionize the mobile application with the Tealeaf for SaaS and Watson Customer Experience Analytics services. Contact your administrator for the value of the application key for SaaS service.

For on-premise service, you need to know if on-premise is using cookies for sessionization. If cookies are used, you need to provide a cookie name. You can use TLTSID as the cookie name.

Note

It is recommended that each mobile application is assigned a unique application key. However, application keys can be used with more than one application if the same data is being captured from each application and you want captured data from multiple applications to be grouped as a single entity.

Item ID
Description
Values

AppKey

An application key is used to identify and sessionizethe mobile application with the Tealeaf for SaaS and Watson Customer Experience Analytics services.

String

TealeafAdvancedConfig.json

Internal settings: DO NOT CHANGE

Do not change these settings unless directed to do so by Acoustic Tealeaf.

Item ID
Description
Values

DisableAlertAutoCapture

If set true, disables auto-capture of UIAlertController and UIAlertView.
Note: Currently, the SDK captures custom alerts, even when this flag is set to true.

true/false


DisableAlertBackgroundForDisabledLogViewLayout


If set true, disables background capture of the alert when the background ViewController's auto-capture is turned off.


true/false


EnableWebViewInjectionForDisabledAutoCapture`


If set to true, captures webview when auto-capture of the project is turned off.


true/false


LibraryVersion


If set to true, only the MessageTypes included in the comma-separated list are sent back to the server. If set to false, all message types are sent back to the server.


true/false


FilterMessageTypes


If set to true, only the MessageTypes included in the comma-separated list are sent back to the server. If set to false, all message types are sent back to the server.


true/false


MessageTypes


To filter Tealeaf messages, which is needed for MobileFirst.


Integer, 1-16


AddMessageTypeHeader


To add an extra header in post, which is needed for MobileFirst.


true/false


MessageTypeHeader


The key of the header, which is needed for MobileFirst.


String


KillSwitchAsync


Determines whether to call the killswitch asynchronous.


true/false


WebViewDelay


n/a


Milliseconds


ExcludeTextViewStyleForOS


Excludes capture of TextView gravity and padding values. There is a known Google bug that has been fixed in older projects that crashes the library. You will need to indicate the Android SDK OS version to exclude, like 16, 17, etc.


Integer


DefaultTextViewGravity


If the OS is excluded in ExcludeTextViewStyleForOS, then it will add the value in DefaultTextViewGravity.


Left, Right, Center


DefaultTextViewPaddingLeft


If the OS is excluded in ExcludeTextViewStyleForOS, then it will add the value in padding to the left of the TextView.


Integer


DefaultTextViewPaddingRight


If the OS is excluded in ExcludeTextViewStyleForOS, then it will add the value in padding to the right of the TextView.


Integer


DefaultAutoLayoutDelay


The default layout capture value that is used during type 10 if not indicated in the TealeafLayoutConfig.json.


Milliseconds


ScreenViewUnloadDelay


The amount of time to wait to review that the screen has unloaded.


Milliseconds


RemoveIp


Remove ip values from the payload.


true/false


IpPlaceholder


What will replace an ip if it is removed. N/A is the default value.


String


InitialZIndex


The Z index for the layout being captured during type 10 creation.


Integer


StripDrawableFolderExt


Used to handle image replay where collected image file paths are not the same as the runtime path. For example, the runtime image file of drawable-hdpi-v13 would be truncated to drawable-hdpi. The default is set to true.


true/false


WebViewSetTagForId


Used when no unique webview ID has been defined. The default is set to false.


true/false


KillSwitchDelay


The amount of time to delay before calling the killswitch, because the library needs to setup before calling it.


Integer


'GenerateImageHash'


Used to generate image hash value for replay. The default is set to true.


true/false


'SwitchWidth'


The default width for Switch UI control.


Integer


'EnableActivityLifeCycleListener'


Used to automatically listen to Activity's lifecycle events to capture screen data during onResume. The default is set to true.


true/false


'UseXpathId'


Used to generate XPATH ID for UI controls. The default is set to false.


true/false


'RemoveAllCookies'


Used to remove all cookies when SDK is initialized false.


true/false


ColorPrimary


Theme primary color. #3F51B5 is the default value.


String


ColorPrimaryDark


Theme primary color dark. #303F9F is the default value.


String


ColorAccent


Theme color accent. #FF4081 is the default value.


String


'EnableGestureSwipeLogScreen'


Automatically logs screen on gesture swipe. The default value is true.


true/false


'EnableScreenshotCache'


Used to cache screenshot image for reuse. The default value is false.


true/false

TealeafLayoutConfig.json

The settings defined in TealeafLayoutConfig.json to log type 10 screen layouts for screenviews of native mobile application sessions. The AutoLayout controller also enables the application to automatically continue logging type 10 screen layouts when it resumes to the foreground.

Edit the TealeafLayoutConfig.json to configure AutoLayout to log screen layouts. Each AutoLayout entry has the following sub-entries.

Sub-Entry
Description
Values

ScreenChange
This entry is replacing do in Tealeaf SDK 10.3.4 (and later).

Indicates if the screen should be tracked or not.

  • true (Capture Type 2s for this screen): Tracks the screenRe
  • false (Don't Capture Type 2s for this screen): Does not track the screen
    Example: To enable tracking for the screen:
    "ScreenChange":true

Boolean


DisplayName
This entry is replacing screenViewName in Tealeaf SDK 10.3.4.


Provides the name of the screen to be shown during replay, instead of showing the view controller name or activity name. DisplayName is displayed during replay in the navigation list. If DisplayName is empty, view controller class name is used.
For example, the DisplayName for a payments page might be "Payment Screen".
Example: To set the value of DisplayName to Payment Screen:
"DisplayName":"Payment Screen"


String


CaptureLayoutDelay
This entry is replaying delay in Tealeaf SDK 10.3.4 (and later).


The delay in milliseconds before Tealeaf SDK takes a layout capture of a screen. Increasing the value of this setting increases the amount of time that must pass between when the layout is loaded and when the layout logging action occurs. The CaptureLayoutDelay value is used for ScreenChange and ScreenShot.
Example: To set the delay between layout load and layout logging to 500 milliseconds:
"CaptureLayoutDelay":500


Numeric


ScreenShot
This entry is replaying takeScreenShot in Tealeaf SDK 10.3.4 (and later). Note that takeScreenShot applied only for type 2 load events but ScreenShot applies to type 2, 4, 10, 11.


Indicates whether or not to capture screenshots on the screen.

  • true (Capture screenshots on type 2, 4, 10, 11): Takes a screen capture
  • false (Don't capture screenshots on this screen): Does not take a screen capture. If you do not want Tealeaf SDK to take any screenshots on a specific screen, set ScreenShot to false.

Example: To turn on screen capturing for the screen activity:
"ScreenShot":true

**Note: Android SDK per screen configuration is not supported in this release. Use IBMGlobalSettings to enable/disable screen shot.


Boolean


CaptureUserEvents
This entry is replaying CaptureScreenContents in Tealeaf SDK 10.3.4 (and later).


Indicates whether or not to track user events like types 4s or 11s.

  • true (Capture type 4, 11): Tealeaf SDK resumes capturing user events (type 4, 11) on the specified screen.
  • false (Don't capture type 4, 11): Tealeaf SDK pauses, does not capture type 4, 11 events, and based on the value of CaptureScreenVisits, captures screen load/unload events.
    Example: To turn on user event capturing for the screen activity:
    "CaptureUserEvents":true

Boolean


CaptureLayoutOn


The event to capture layout on: Never, or on first user gesture, or on screen change.

  • 2 (Capture Layout on screen change): Tealeaf SDK captures the layout as soon as the view controller is loaded.
  • 1 (Capture Layout on first user gesture): Tealeaf SDK captures the layout after the end user makes a first gesture on a given view controller.
  • 0 (Don't Capture Layout):The layout is not captured.
    Example: To capture layout on screen changes:
    "CaptureLayoutOn":2

Numeric


CaptureScreenshotOn


The event to capture screenshots for view controller load events: Never, or on first user gesture, or on screen changes.

  • 2 (Capture screen load screenshot on screen change): Captures screen load screenshot on screen changes. Tealeaf SDK captures the screenshot as soon as the view controller is loaded.
  • 1 (Capture screen load screenshot on first user gesture): Tealeaf SDK captures the screenshot after the end user makes a first gesture on a specified view controller.
  • 0 (Don't capture screen load screenshot): Does not take a screen capture. Note that even if CaptureScreenshotOn is set to 0 and ScreenShot is true, the Tealeaf SDK continues to capture screenshots on other user events, such as type 4 and type 11. CaptureScreenshotOn applies only to screenshots on view controller load.
    Example: To capture screen load screenshot on screen changes:
    "CaptureScreenshotOn":2
    Note: The Android SDK does not support this property in this release.

Numeric


CaptureWebViewScreenshotOn


The event to capture the first screenshot on for a web view, if there is any.

  • 2 (Capture webview screen load screenshot on screen change): Captures the webview screen load screenshot on screen changes.
  • 1 (Capture webview screen load screenshot on first user gesture): Captures the webview screen load screenshot on the first user gesture.
  • 0 (Don't capture webview screen load screenshot): Does not capture the webview screen load screenshot.
    Example: To capture webview screen load screenshot on screen changes:
    "CaptureWebViewScreenshotOn":2

Numeric


NumberOfWebViews
This entry is replacing numberOfWebviews and isWebView in Tealeaf SDK 10.3.4 (and later). If you set isWebView = false in earlier releases, you can now set NumberOfWebViews = 0. Non-zero values for NumberOfWebViews indicate the number of web views on a view controller.


Indicates the amount of webviews on the page. Default value is 0.


Numeric


AppendMapIds


Assigns an identifier to a target item. You can assign a readable identifier to the mid that maps to the target item. You can then configure events to fire when the identifier is encountered. You can use the same identifier for Android devices as well as iOS devices. When you assign the same identifier to your Android and iOS devices, you can create a single event in Event Manager that fires on the identifier. The event fires for both Android and iOS devices.
For example:
"AppendMapIds": { "[PWDV,0][ABOL,0][FL,0][TH,0][LL,0][TW,0][LL,1][LL,0]": { "mid":"LoginButton" }, "ibm.com.demoapp.main_activity_login:id\/send": { "mid":"LoginButton" }
Uses the mid setting to assign an identifier to two targets. The first target is for an iOS device and the second target is for an Android device. The target for both devices is identified as LoginButton. You can create a single event that fires when LoginButton is encountered in either application.


JSON

The following snippet is an example of a TealeafLayoutConfig.json file:

{
  "AutoLayout": {
      "IBMGlobalScreenSettings":{
          "ScreenChange": true,
          "DisplayName": "",
          "CaptureLayoutDelay": 0,
          "ScreenShot": false,
          "NumberOfWebViews": 0,
          "CaptureUserEvents": true,
          "CaptureScreenVisits": true,
          "CaptureLayoutOn": 2,
          "CaptureScreenshotOn": 0
      },
      "PaymentActivity":{
          "ScreenChange": false,
          "DisplayName": "The Payment Screen",
          "CaptureLayoutDelay": 0,
          "ScreenShot": false,
          "NumberOfWebViews": 0,
          "CaptureUserEvents": false,
          "CaptureScreenVisits": true,
          "CaptureLayoutOn": 0,
          "CaptureScreenshotOn": 0
      }
  },
  "AppendMapIds": {
      "[w,9290],[v,0]": {
          "mid": "ASimpleUIView"
      },
      "tag2999999": {
          "mid": "giveAdditionalId1"
      },
      "idxPathValue": {
          "mid": "giveAdditionalId2"
      }
  }
}

Updated 2 days ago


Configuration files for the Android SDK library


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.