This page describes how the Mapp Intelligence iOS SDK collects tracking events in your app, buffers them locally, and delivers them to the Mapp Intelligence servers. Use it as a mental model when you debug delivery, configure batch support, or reason about data freshness.
1. Data collection
Your app calls one of the SDK's track… methods (page, action, media, form, exception, URL). The SDK builds a request from the supplied parameters together with the default parameters it adds automatically.
Tracking API: events are captured through the SDK's typed event objects (
MIPageViewEvent,MIActionEvent,MIMediaEvent, …) or via the legacy query parameter calls.Local buffering: every captured request is stored in the SDK's local SQLite database before any network call. Nothing is lost when the app is backgrounded or the device goes offline.
2. Data delivery
Buffered requests are sent to Mapp Intelligence at regular intervals, depending on your configuration.
Scheduled intervals: the SDK sends data every
requestIntervalseconds (default 15 minutes, minimum ~5 seconds, maximum 60 minutes). See Configure Global Tracking.App lifecycle triggers: the SDK additionally flushes the queue on app open and app close.
Background sending: when
enableBackgroundSendout = true(and Apple has approved background usage for your app), the SDK can also deliver while the app is in the background.Network awareness: if the device is offline, requests stay in the local database. The SDK retries automatically once a connection is available.
Batch support: when
batchSupportEnabled = true, requests are grouped into batches of up tobatchSupportSize(default 5000, max 10000) before delivery. See Send Tracking Data in Batches.
3. Data evaluation
Once received by Mapp's servers, requests are validated, filtered (see Character Limits and Data Types), and processed.
Live Analytics: if your account has access, recent data is visible in near real time for validation and quick reporting.
Standard reporting delay: standard reports are typically updated every 60 minutes. If you do not see data immediately, allow time for processing.
If your integration appears correct but no data shows up, walk through No Tracking Data Visible.
Related: Configure Global Tracking, Send Tracking Data in Batches, No Tracking Data Visible.