Skip to content

CrittercismConfig

Import com.crittercism.app package to use this class.

This object is used to specify various configuration options to Workspace ONE Intelligence SDK. Once this object is set up, you can pass it to Crittercism.initialize(). After Workspace ONE Intelligence SDK is initialized, changes to this object will have no effect.

Creating a Config

CrittercismConfig ()

Creates a new CrittercismConfig object with the default values for the above properties. You can modify the config values and pass this object into Crittercism.initialize().

Declaration

Java

public CrittercismConfig ()

Kotlin:

public CrittercismConfig ()

Returns CrittercismConfig with default values.

Examples

Java Usage Example:

CrittercismConfig config = new CrittercismConfig();
Crittercism.initialize(context, appId, config)
Kotlin Usage Example:
val config = CrittercismConfig()
Crittercism.initialize(context, appId, config)

CrittercismConfig (configToCopy)

Create a copy of the input CrittercismConfig.

Declaration

public CrittercismConfig ((CrittercismConfig configToCopy)

Parameters

configToCopy CrittercismConfig to copy

Returns a new instance of CrittercismConfig with the same values as configToCopy.

Network Insights Configuration

getURLDenylistPatterns ()

Retrieve a list of denylisted URLs. Network Insights data that pertains to URLs that match any of the patterns in the returned list will not be sent to Workspace ONE Intelligence. Patterns are case sensitive and may be any length.

Declaration

public List<String> getURLDenylistPatterns ()

Returns a copy of denylisted URLs for which Network Insights data will not be reported to Workspace ONE Intelligence.

setURLDenylistPatterns (patterns)

Set a list of denylisted URLs. Network Insights data that pertains to URLs that match any of the patterns in the supplied list will not be sent to Workspace ONE Intelligence. Patterns are case sensitive and may be any length.

For example, you may provide URLs that may contain sensitive information. Note that by default all query parameters are removed before being sent to Workspace ONE Intelligence.

Declaration

public void setURLDenylistPatterns (List<String> patterns)

Parameters

patterns List of URL patterns to denylist

getPreserveQueryStringPatterns ()

Returns a copy of the list of URL string patterns for which the query strings will be preserved when Network Insights data is sent to Workspace ONE Intelligence. URLs that are not in this list will have their query strings removed before Network Insights data is sent to Workspace ONE Intelligence.

Declaration

public List<String> getPreserveQueryStringPatterns ()

Returns a copy of the list of URL string patterns for which the query strings will be preserved.

setPreserveQueryStringPatterns (patterns)

Set a list of URL patterns for which the query strings will be preserved when Network Insights data is sent to Workspace ONE Intelligence. URLs that are not in this list will have their query strings removed before Network Insights data is sent to Workspace ONE Intelligence. If a URL in this list is also denylisted, then the denylist takes priority and network data will not be sent to Workspace ONE Intelligence for that URL.

Patterns are case sensitive and may be any length. A zero length string will result in all query strings being included in Network Insights data sent to Workspace ONE Intelligence.

Declaration

public void setPreserveQueryStringPatterns (List<String> patterns)

Parameters

patterns List of URL patterns for which to preserve the query strings

Set Custom Version Name

getCustomVersionName ()

Retrieves the custom version name that will be reported to Workspace ONE Intelligence.

Declaration

public final String getCustomVersionName ()

Returns the custom version name that will be reported to Workspace ONE Intelligence, or null if Workspace ONE Intelligence SDK uses the android:versionName from the AndroidManifest.xml. .

setCustomVersionName (customVersionName)

Set a custom app version that will be reported to Workspace ONE Intelligence.

By default, Workspace ONE Intelligence SDK uses the android:versionName from the AndroidManifest.xml when reporting data to Workspace ONE Intelligence. Depending on how teams version their apps, it may be desirable to set a custom version string.

Declaration

public final void setCustomVersionName (String customVersionName)

Parameters

customVersionName The version name that will be reported to Workspace ONE Intelligence.

isVersionCodeToBeIncludedInVersionString ()

Returns a boolean to indicate whether Workspace ONE Intelligence SDK concatenates the app version code to the app version that will be reported to Workspace ONE Intelligence. The app’s version code is defined in android:versionCode in the AndroidManifest.xml.

Declaration

public final boolean isVersionCodeToBeIncludedInVersionString ()

Returns True if the app’s version code is concatenated to the version name.

setVersionCodeToBeIncludedInVersionString (shouldIncludeVersionCode)

Tells Workspace ONE Intelligence SDK whether or not to concatenate the app version code to the app version that will be reported to Workspace ONE Intelligence. The app’s version code is defined in android:versionCode in the AndroidManifest.xml.

Declaration

public final void setVersionCodeToBeIncludedInVersionString (boolean shouldIncludeVersionCode)

Parameters

shouldIncludeVersionCode True if the app’s version code should be concatenated to the version name.

Delay App Load Configuration

delaySendingAppLoad ()

Determines if Workspace ONE Intelligence SDK delays automatic app load events until the developer calls sendAppLoadData.

By default, the return value is False and Workspace ONE Intelligence SDK automatically reports an app load event when Workspace ONE Intelligence SDK is initialized.

The delay app load feature is most often used to delay counting an app load until after a user has passed a login screen.

Declaration

public final boolean delaySendingAppLoad ()

Returns True if Workspace ONE Intelligence SDK should automatically send app load request. Returns False if the app will send app load request manually by calling sendAppLoadData.

setDelaySendingAppLoad (delaySendingAppLoad)

Configure delayed app load events. By default, Workspace ONE Intelligence SDK immediately reports an app load when Workspace ONE Intelligence SDK is initialized. Set delaySendingAppLoad to True if the Workspace ONE Intelligence SDK should delay sending app load events until the app developer calls sendAppLoadData. Otherwise, set it to False to keep default behavior and send app loads automatically.

The delay app load feature is most often used to delay counting an app load until after a user has passed a login screen.

Declaration

public final void setDelaySendingAppLoad (boolean delaySendingAppLoad)

Parameters

delaySendingAppLoad A boolean to indicate whether Workspace ONE Intelligence SDK should delay automatic app loads.

Send Data On Wifi Only

allowsCellularAccess ()

Returns a boolean to determine if Workspace ONE Intelligence SDK is allowed to send data while on a cellular network.

Default value is True.

public final boolean allowsCellularAccess () Returns True if Workspace ONE Intelligence SDK is allowed to send data while on a cellular network. Returns False if Workspace ONE Intelligence SDK is only sending data on Wifi network.

setAllowsCellularAccess (allowsCellularAccess)

Set whether Workspace ONE Intelligence SDK sends data on cellular networks. The default value is True, which means that Workspace ONE Intelligence SDK sends data on both wifi and cellular networks. You can set it to False if Workspace ONE Intelligence SDK should only send data on wifi network.

This feature requires adding the ACCESS_NETWORK_STATE permission to your AndroidManifest.xml. Please see Permissions Required.

public final void setAllowsCellularAccess (boolean allowsCellularAccess) allowsCellularAccess

Set to True to allow Workspace ONE Intelligence SDK to send data on a cellular network. Set to False to allow sending data on wifi only.

Introduced in Android SDK 5.7.0

Include System Log Data (Logcat)

Note

Workspace ONE Intelligence platform does not support collection of system log data (logcat). The following no-op methods are left from old Apteligent platform and have no effect on the behavior of SDK versions 6.0.0 and above.

isLogcatReportingEnabled ()

Returns a boolean to determine if system log data (logcat) is included in crashes reported by Workspace ONE Intelligence SDK to the old platform.

public final boolean isLogcatReportingEnabled () Returns True if system log data is included in crashes reported by Workspace ONE Intelligence SDK to the old platform.

setLogcatReportingEnabled (shouldCollectLogcat)

Set whether system log data (logcat) should be included with crashes reported by Workspace ONE Intelligence SDK to the old Apteligent platform. Note that Workspace ONE Intelligence platform does not support logcat collection. Including system log data (logcat) can be helpful for debugging crashes and handled exceptions, but it comes at the cost of slightly increasing disk and network usage, which is why this feature must be manually enabled. Workspace ONE Intelligence SDK collects and sends the last 100 lines of logcat data to the old Apteligent platform.

public final void setLogcatReportingEnabled (boolean shouldCollectLogcat) shouldCollectLogcat

Set to True to allow Workspace ONE Intelligence SDK to collect system log data. Set to False otherwise.

Caching Mode Enabled

setCachingModeEnabled ()

In the Caching mode, the Intelligence SDK will cache events until the application is able to authenticate within in a 5 minute grace period. After 5 minutes, if we still haven’t authenticated, the Intel SDK will drop into the unauthenticated state and send event to the developer endpoint.

When Caching mode disabled, events will not wait for authentication and will instead send events to the current state endpoint. This means that if Caching mode disabled, and events are recorded while the SDK is trying to authenticate, they will be sent to the unauthenticated endpoint immediately. This can result in data not showing up on the in App Owner / Tenant Region Intelligence Consoles if not used correctly.

Default value is true.

public final void setCachingModeEnabled(boolean cachingModeEnabled) Examples

Caching Mode example in Java

CrittercismConfig config = new CrittercismConfig();
config.setCachingModeEnabled(false);

Caching Mode example in Kotlin

val config = CrittercismConfig()
config.isCachingModeEnabled = true

isCachingModeEnabled ()

Returns a boolean to determine if caching mode is set.

public final boolean isCachingModeEnabled() Examples

Caching Mode example in Java:

CrittercismConfig config = new CrittercismConfig();
config.setCachingModeEnabled(false);
boolean cachingModeEnabled = config.isCachingModeEnabled();
Caching Mode example in Kotlin
val config = CrittercismConfig()
config.isCachingModeEnabled = true
val cachingModeEnabled = config.isCachingModeEnabled

NDK Crash Enabled

NDK Crash Intelligence events will be reported to the Intelligence Console on the subsequent app load, after configuration and authentication if needed, following the crash when enabled through the CrittercismConfig. For more information on NDK Crash Events, refer to section: NDK Crash

isNdkCrashEnabled()

Declaration

Java

public boolean isNdkCrashEnabled()

Kotlin:

fun isNdkCrashEnabled(): Boolean

Returns Boolean value representing if NDK / Native Crash Event reporting has been enabled.

setNdkCrashEnabled(enabled)

Declaration

Java

public void setNdkCrashEnabled(boolean enabled)

Kotlin:

fun isNdkCrashEnabled = enabled: Boolean

Set Boolean value to enable NDK / Native Crash Event reporting in the Intelligence SDK. The default value of this enablement flag is false.