Quick Links
EOCoreBasicConfig.plist EOCoreAdvancedConfig.json TealeafBasicConfig.plist
TealeafAdvancedConfig.json TealeafLayoutConfig.json


EOCoreBasicConfig.plist

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

Local cache file settings

These settings configure use of the device’s local cache.

Item ID Description Values
HasToPersistLocalCache If yes, data is stored in local storage on the device, instead of in memory. The CachingLevel must also be configured. yes/no
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
ManualPostEnabled If yes, the framework sends data to the server only when your application calls requestManualServerPost.

If set to no, you must configure the following settings.

Note: You cannot enable this setting and DoPostOnIntervals together. However, one of these options must be yes. By default, it is set to no to allow automatic posting.

yes/no
DoPostOnIntervals If yes, 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 yes if ManualPostEnabled=false.

Note: You cannot enable this setting and ManualPostEnabled together. However, one of these options must be yes.

yes/no
PostMessageTimeIntervals How often the framework sends data to the server when DoPostOnIntervals is set to yes. Seconds
DoPostAppComesFromBackground If yes, the iOS SDK sends data to the server when the application comes from the background. yes/no
DoPostAppGoesToBackground If yes, the iOS SDK sends data to the server when the application goes to the background. yes/no
DoPostAppGoesToClose If yes, the iOS SDK sends data to the server when the application closes. yes/no
DoPostAppIsLaunched If yes, the iOS SDK sends data to the server when the application starts. yes/no
DoPostOnScreenChange If yes, the iOS SDK sends data when the screen changes, subject to ScreenTimeNeededToPost. yes/no
DynamicConfigurationEnabled To use the killswitch, DynamicConfigurationEnabled must be set to yes to enable the killswitch.

To use the iOS SDK libraries:

  • If DynamicConfigurationEnabled==yes, you need to call enableTealeafFramework.
  • If you do not have the killswitch implemented, you need to have DynamicConfigurationEnabled==no for libraries to load.
yes/no


EOCoreAdvancedConfig.json

Internal settings: DO NOT CHANGE

Do not change these settings unless directed to do so by IBM 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
PostMessageTimeout The 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 tue, 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.

true/false
TurnOffCorrectOrientationUpdates Used to turn the orientation of the layout. true/false
DefaultOrientation Default orientation to be given for the layout. 0, 90, 180, -180
LibraryVersion Library version of the EOCore library. String
MessageVersion Current Tealeaf message version. String


TealeafBasicConfig.plist

Killswitch settings

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

Item ID Description Values
KillSwitchEnabled If yes, the framework checks the killswitch target page before starting. You must specify the following properties.

If KillSwitchEnabled=no, the framework always starts.

yes/no
KillSwitchUrl Defines the URL to check for the killswitch. The framework requires a successful response to initialize when KillSwitchEnabled is set to yes. 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
KillSwitchTimeout The timeout value for the HTTP request that checks for the killswitch. Seconds
UseWhiteList If yes and KillSwitchEnabled, the framework requires a phone ID to assign before calling enable to check the white list of phone IDs.

If no and KillSwitchEnabled, the framework defaults to use random sampling.

yes/no
WhiteListParam Used to send the white list ID corresponding to the phone ID. Current white list server uses id

Post settings

These settings control the logging level, URL, volume, 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 the IBM Tealeaf SDK for iOS using Swift and Getting started with the IBM Tealeaf SDK for iOS using Objective C.

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 at least 1.

Integer

Masking settings

These settings control privacy masking.

Item ID Description Values
HasMasking Used to mask values of controls. If HasMasking=yes, then complete MaskIdList. yes/no
MaskIdList An array of IDs or regular expressions to match that will be masked. String
HasCustomMask Indicates ability to use the following values in the Sensitive dictionary if yes. yes/no
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
SessionizationCookieName The parameter of cookie that is used for sessionization of the application. For example, TLTSID or JSESSIONID. String

Session timeout setting

This setting controls session timeouts.

Item ID Description Values
SessionTimeout When SessionTimeout is set, the expiration of cookie is the current time plus the session timeout value. Minutes

Screen shot settings

These settings control screen shots.

Note: You can store screen shots in memory instead of in the local memory on the device. To enable screen shots to save in memory, you must set HasToPersistLocalCache to no 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 at which posted screen captures are submitted. Integer, 1-100
PercentToCompressImage The percentage to compress an image. This setting can only be used for JPG images. PNG images ignore this setting and default to 100. Integer, 1-100

Capture native layout settings

These settings control capture of native layout.

Item ID Description Values
LogViewLayoutOnScreenTransition When set to yes, the screen layout is logged. When set to no, the screen layout is not logged and produces type 10 data. yes/no
GetImageDataOnScreenLayout This should be set to yes for prototyping to view base64 data being sent to server to display images correctly during replay. The image data should later be extracted, setup on the server, and switched to no for production of the application to be released. yes/no

Gesture enabled settings

These settings control capture of native layout.

Item ID Description Values
SetGestureDetector When set to yes, gestures are logged. When set to no, gestures are not logged and produces type 11 data. yes/no
CaptureNativeGesturesOnWebview When set to yes, the gestures are logged in a webview. When set to no, the gestures are not logged and produces type 11 data. The default is no, because the gesture data for the webview should come from the UI Capture library that has better information of the webview. yes/no

Auto-Geolocation settings

These settings control auto-geolocation.

Item ID Description Values
LogLocationEnabled When set to yes, the location is logged. When set to no, the location is not logged and produces type 13 data. yes/no

Hybrid application setting

This setting controls hybrid application.

Item ID Description Values
JavaScriptInjectionDelay When SessionTimeout is set, the expiration of the cookie is the current time plus the session timeout value. Milliseconds

Auto-Instrumentation settings

These settings control auto-instrumentation.

Item ID Description Values
DisableAutoInstrumentation This will remove auto-instrumentation for iOS, and you will need to manually instrument the application. This is not recommended. yes/no

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 IBM 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 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 to 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
RemoveIp Remove ip values from payload. true/false
IpPlaceholder What will replace an ip if it is removed. N/A is the default value. String
AutoWebViewCaptureDelay The amount of delay before capturing a webview after it has loaded. Integer
DefaultAutoLayoutDelay The default layout capture value that is used during type 10 if not indicated in the TealeafLayoutConfig.json. Integer
DefaultKeyboardCapture Disables capture of the keyboard. true/false
TreatJsonDictionariesAsString Used to determine whether or not to treat the JSON dictionary as a string. true/false
UseJPGForReplayImagesExtension Used to determine whether or not to use JPG for images in replay. true/false
customEvent The logging level of a custom event to be sent to the server and produces type 5 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
exception The logging level of an exception to be sent to the server and produces type 6 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
mobileState The logging level of a clientState to be sent to the server and produces type 1 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
location The logging level of a geolocation to be sent to the server and produces type 13 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
orientation The logging level of the orientation 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
screenChangeLevel The logging level of a screen view to be sent to the server and produces type 2 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
layout The logging level of a layout to be sent to the server and produces type 10 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
gestures The logging level of a gesture to be sent to the server and produce type 11 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
UICPayload The logging level of UIC data from the bridge on the webview 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
button:click The logging level of a button with a fired click event 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
button:load The logging level of a button with a fired load event 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
toggleButton:click The logging level of a toggleButton with a fired click event 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
slider:valueChange The logging level of a slider with a fired value change event 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
stepper:valueChange The logging level of a stepper with a fired value change event 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
selectList:valueChange The logging level of a select list with a fired value change event 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
selectList:load The logging level of a select list with a fired load event 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
datePicker:dateChange The logging level of the datePicker with a fired dateChanged event 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
pickerView:valueChanged The logging level of the datePicker with a fired valueChanged event 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
textBox:textChange The logging level of a textBox with a fired textChange event 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
textBox:_searchFieldBeginEditing The logging level of a textBox with a fired _searchFieldBeginEditing event 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
textBox:_searchFieldBeginChanged The logging level of a textBox with a fired _searchFieldBeginChanged event 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
textBox:_searchFieldEditingChanged The logging level of a textBox with a fired _searchFieldEditingChanged event 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
label:textChange The logging level of a label with a fired textChange event 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
label:load The logging level of a label with a fired load event 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
scroller:scrollChange The logging level of a scroller with a fired scrollChange event 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
actionSheet:buttonIndex The logging level of an actionSheet with a fired buttonIndex event 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
actionSheet:show The logging level of an actionSheet with a fired show event 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
alertView:buttonIndex The logging level of an alertView with a fired buttonIndex event 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
alertView:show The logging level of an alertView with a fired show event 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


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
do Indicates if the screen should be logged or not.

  • true: Logs the screen
  • false: Does not log the screen
Boolean
screenViewName Provides a custom identifying name that is assigned to the logged screen in JSON.

For example, to set the screenViewName for a login screen to LoginScreen, this is how your value should look:

	"screenViewName": "LoginScreen",
							
String
delay The amount of time, in milliseconds, that is used to delay the screen logging action. Increasing the value of this setting increases the amount of time that must pass between when the screen is loaded and when the screen logging action occurs. The delay value is used for do and takeScreenShot. Number
takeScreenShot Indicates if a screen capture should be taken for the controller class.

  • true: Performs a screen capture
  • false: Does not perform a screen capture
Boolean
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 and iOS devices to create a single event in the Event Manager that fire on the identifier. The event fires for 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"
	}
						

Use 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": {
		"UICAndroidControlsAppActivity": {
			"do": false,
			"screenViewName": "UICAndroidControlsAppActivity",
			"delay": 1,
			"takeScreenShot": false
			},
		"ControlsActivity1": {
			"do": true,
			"screenViewName": "CA1",
			"delay": 500,
			"takeScreenShot": false
			},
		"ControlsActivity2": {
			"do": true,
			"screenViewName": "CA2",
			"delay": 1,
			"takeScreenShot": false
			},
		"ControlsActivity3": {
			"do": true,
			"screenViewName": "CA3",
			"delay": 1,
			"takeScreenShot": false
			},
		"ControlsActivity4": {
			"do": true,
			"screenViewName": "CA4",
			"delay": 1,
			"takeScreenShot": false
			},
		"ControlsActivity5": {
			"do": true,
			"screenViewName": "CA5",
			"delay": 1,
			"takeScreenShot": false
			},
		"ControlsActivity6": {
			"do": true,
			"screenViewName": "CA6",
			"delay": 1,
			"takeScreenShot": false
			},
		"ControlsActivity7": {
			"do": true,
			"screenViewName": "CA7",
			"delay": 1,
			"takeScreenShot": false
			},
		"ControlsActivity8": {
			"do": true,
			"screenViewName": "CA8",
			"delay": 1,
			"takeScreenShot": false
			}
		},
		"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"
			}
				}
			}
			},
		



Join The Discussion

Your email address will not be published. Required fields are marked *