How the SDK works
Initialization
Section titled InitializationThe way our SDK works is by auto-starting with the application launch and attaching to the current process in order to intercept the events and gestures we are interested in.
Configuration
Section titled ConfigurationOnce started, our SDK fetches it config from our servers, and then depending on the segmentation size (defined by our team when you sign a contract) it will start collecting data from system and user events it detects from the runtime.
Tracking
Section titled TrackingThe SDK monitors the application lifecycle events and the view hierarchy, and generates analytics data from the behavior of the app, the content of the screen and the interaction of the user. These events are then locally stored, and eventually sent to our servers in batches. We then aggregate that data to create usable visual information into our Web Application, which you use to gather insights.
Sending data
Section titled Sending dataAnalytics data are sent in batches of maximum 50 events. Requests are triggered when network conditions allow for the server to be reached and:
- The current batch of events has reached 50
- Or the app is put in background
Requests are triggered from a dedicated thread, which has background priority.
Session definition
Section titled Session definitionA session represents a single period of user interaction in the app.
In Contentsquare, the SDK marks the start of a session when an app start
or app show
event is first detected.
A session ends when the time spent outside the app reaches 30 minutes. This is the default value which be changed upon request.
If the app is put in the background or killed (intentionally by the user or by the OS) and the user comes back within the next 30 minutes, subsequent events are considered part of the same session.