Configuration Options

We strongly recommend enabling batch support and client timestamps with iOS SDK, because using these settings will increase data quality. Batch support can be enabled via the SDK, and client timestamp is an account configuration that can be enabled by your account manager. 

MappIntelligence.shared()?.initWithConfiguration([123451234512345], onTrackdomain: "https://your-trackdomain.net", andWithEverID: "customEverID")
MappIntelligence.shared()?.logLevel = .all
MappIntelligence.shared()?.requestInterval = 1*60
MappIntelligence.shared()?.requestPerQueue = 100
MappIntelligence.shared()?.batchSupportEnabled = true
MappIntelligence.shared()?.batchSupportSize = 150
MappIntelligence.shared()?.sendAppVersionInEveryRequest = true
MappIntelligence.shared()?.enableBackgroundSendout = true
MappIntelligence.shared()?.shouldMigrate = true
MappIntelligence.shared()?.enableUserMatching = true
JAVA
AttributeDescriptionDefault
trackIDsMandatory. The track id is used to generate the correct request URL.blank
trackDomainMandatory. The tracking domain is used to generate the correct request URLblank
andWithEverIDOptional. If set, the SDK initialises with the given everID instead of generating a new one automatically.blank
requestInterval

Optional. This parameter defines the periodic time for sending the cached tracking data to the Webtrekk server. This is set to 15 min by default. If you want a different transmission interval, you can overwrite the default setting here. The maximum interval possible is 60 minutes, the minimum is ~5 seconds. Request interval value is in seconds. The requests are sent when the app is in the foreground or background.

Additionally, the SDK automatically sends requests on the following actions:

  • App open
  • App close

To lower bandwidth consumption, we recommend using an interval of at least a few minutes and enabling batch support.

15
requestPerQueueOptional. If batch support is disabled, you can specify the number of requests to be saved in the queue. RequestTimeout has priority: If the TimeOut will have been reached before the number of possible requests has been reached, the SDK will send the currently stored requests to Mapp Intelligence.100
batchSupportEnabledOptional. When batch support is enabled, the requests are sent to the server in batches instead of individually. It is recommended to enable batch support, see batch support.disabled
batchSupportSizeOptional. When batch support is enabled, you can adjust the number of requests per batch. The maximum number of requests per batch allowed is 10000.5000
logLevel

Optional. Used to log data generated by the SDK for debugging purposes. We do not recommend enabling it in production. Possible values are:

  • none: logging disabled
  • all: display all available logs
  • debug: informational logs such as contentID and current configuration
  • warning: missing or incorrect information that might lead to a failure
  • error: failures that occur
  • fault: failure in a key system
  • info: information logs for updating configuration or migrating from older versions of the library
none
enableCrashTracking

Optional. Supports various types of crash tracking:

  • allExceptionTypes: All exceptions are tracked
  • noneOfExceptionTypes: No exceptions are tracked
  • caught: Only caught exceptions are tracked
  • uncaught: Only uncaught exceptions are tracked
  • custom: Only custom exceptions are tracked
  • custom_and_caught: Custom and caught exceptions are tracked
  • uncaught_and_caught: Uncaught and caught exceptions are tracked
  • uncaught_and_custom: Uncaught and custom exceptions are tracked

Also check documentation on crash tracking here.

noneOfExceptionTypes
sendAppVersionInEveryRequestSet this configuration to true if you want to send the pre-defined app version parameter in every request. If false, the app version will be sent only in the first request of the session as detected by the SDK.false
enableBackgroundSendoutEnable if you want the SDK to be able to send requests even when the app is in the background. Please note that this requires additional approval from apple.false
shouldMigrateUse this if you are migrating from iOS SDK v4 to iOS SDK v5. Please follow the instructions as given in the documentation in that case: https://documentation.mapp.com/latest/en/migrate-from-ios-sdk-version-4-19104182.htmlfalse
enableUserMatchingEnables user matching in between the Engage and Intelligence for better targeting. Only use if you are also using the Engage SDK for user interaction. For more information see iOS User Matching.false

Example

class AppDelegate: UIResponder, UIApplicationDelegate {
 
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
 
        // Override point for customization after application launch.
         
        MappIntelligence.shared()?.initWithConfiguration([123451234512345], onTrackdomain: "https://your-trackdomain.net", andWithEverID: "137628356473829")
        MappIntelligence.shared()?.logLevel = .all
        MappIntelligence.shared()?.requestInterval = 1*60
        MappIntelligence.shared()?.requestPerQueue = 100
        MappIntelligence.shared()?.batchSupportEnabled = true
        MappIntelligence.shared()?.batchSupportSize = 150
        MappIntelligence.shared()?.shouldMigrate = false
		MappIntelligence.shared()?.sendAppVersionInEveryRequest = true
		MappIntelligence.shared()?.enableBackgroundSendout = true
		MappIntelligence.shared()?.enableCrashTracking(.allExceptionTypes)
        return true
    }
}
JAVA
[[MappIntelligence shared] initWithConfiguration: @[@111111111111111, @222222222222222] onTrackdomain:@"https://your-trackdomain.net" andWithEverID:@"137628356473829"];
    [[MappIntelligence shared] setLogLevel:all];
    [[MappIntelligence shared] setRequestTimeout:1*60];
    [[MappIntelligence shared] setBatchSupportSize:150];
    [[MappIntelligence shared] setBatchSupportEnabled:YES];
    [[MappIntelligence shared] setEnableBackgroundSendout:YES];
    [[MappIntelligence shared] setShouldMigrate:YES];
	[[MappIntelligence shared] setEnableCrashTracking:allExceptionTypes];
JAVA