Troubleshooting
The first good step
Section titled The first good stepIf you encounter an issue, make sure you are using the last version (3.14.159) of the SDK.
If you are not, update to the latest version and see if the issue persists.
If you can’t update, reach out to your Contentsquare contact with a description of the reasons preventing you from updating.
Common issue
Section titled Common issueFor a session to be tracked, Contentsquare SDK requires the following:
- First screenview has to be sent. See more at: Track screens
- Current user has to opt-in to have their actions tracked. See more at Handling User Consent
Other issues
Section titled Other issuesI have a hybrid application and the SDK is not working
Contentsquare SDK is not compatible with hybrid applications. See the Supported Platforms documentation for more information.
I can’t see in-app features on iOS
The in-app features requires a specific configuration on iOS. See the In-app features documentation for more information.
I lost some zoning data after changing my widget tree
Contentsquare SDK uses zoning identifier that relies heavily on the structure of the widget tree. Consequently, changes to the widget tree, such as moving, nesting, or removing a widget, may result in the loss of tracking data.
The Contentsquare Flutter SDK offers a ReliableTarget
widget, designed to encapsulate the widget intended for reliable tracking.
See the Reliable Targets documentation for more information.
My transactions are sent multiple times
A common mistake is to trigger the sending when the confirmation screen is displayed. This leads to triggering the transaction each time the user puts the app in background and then in foreground on the confirmation screen.
I can’t see images and texts are incomprehensible in Session Replay
By default, the ContentsquareRoot widget masks all types of content (texts, text fields, and images) during replays. It achieves this by providing a default MaskingConfig object if none is specified.
The default configuration masks everything, ensuring that sensitive information is protected.
However, you can override the default masking behavior by providing your own MaskingConfig object when creating a ContentsquareRoot widget.
This allows you to customize the masking rules for your app according to your requirements.
See the Masking documentation for more information.
Masking / Unmasking Session Replay from in-app features settings is not reflected in the player
The masking / unmasking of Session Replay through the in-app features settings is not yet supported by the Flutter SDK.
It is also important to remember also that the masking / unmasking Session Replay through the in-app features settings is intended to be used for debugging purposes only. See the Masking documentation for more information.
I have Session Replay enabled but I see nothing when connecting to the URL
Put your app in background as this will trigger the sending of the session to the server. Take note that Session Replay is not instantaneous and can take time to be available. (from 5 minutes to 30 minutes)
For Session Replay to work, you also need the session to be tracked.
For a session to be tracked, Contentsquare SDK requires the following:
- First screenview has to be sent. See more at: Track screens
- Current user has to opt-in to have their actions tracked. See more at Handling User Consent
My replays are not an exact rendering of my app
There is no collection of the user’s screen, but rather a reconstruction interactions based on the data collected by the SDK.
The rendering may not be pixel-perfect, but it should give you a good idea of how users interact with your app.
There are some known limitations to the Session Replay feature, see the Session Replay documentation for more information.
If you notice a limitation that is not referenced in the documentation, contact us.
My Session Replay requests are not sent from an Android emulator / iOS simulator
If you struggle to watch a replay collected on an emulator/simulator, it may be due to some network constraints applied on your computer (VPN, company network restrictions, etc.). Check your configuration and/or use a real device.
See following sections for more information about our endpoints and requests:
My replays are extremely long
It is important to remember that an app kill does not end a session.
See Session definition for more information.
If you leave the simulator/emulator running with the app in foreground, the session will not end, even if you are inactive.
To better reflect actual end user behavior and avoid unusually long sessions (last hours), put the app in background or kill it.
I use a HttpOverrides.global and it does not work
During the initialization, the Contentsquare SDK overrides the HttpOverrides.global
property.
Avoid overriding HttpOverrides.global
in your app. If you have to, see Use a custom HttpOverrides.
SwiftContentsquarePlugin was registered twice
There is a known issue with the background_locator
↗ plugin which causes Contentsquare plugin to be registered twice. This issue has been mitigated and you can ignore this warning.
If you are not using the background_locator
plugin and encounter this warning, contact us.
Requests are failing
In order for Contentsquare to work, you need to make sure the following endpoints are not blocked by your network (VPN):
Request | Endpoint | Detail |
---|---|---|
Config file | https://mobile-production.content-square.net | See Configuration |
Analytics data (EU) | https://m.csqtrk.net https://m.ba.contentsquare.net https://m.aa.contentsquare.net | See Sending data |
Analytics data (US) | https://m-aus1.contentsquare.net https://m.bf.contentsquare.net https://m.af.contentsquare.net | See Sending data |
Monitoring | https://l.contentsquare.net | Used by the SDK to send SDK monitoring analysis in JSON format over HTTPS. |
Session Replay data (EU) | https://ka-aeu1.contentsquare.net https://ka.ba.contentsquare.net https://ka.aa.contentsquare.net | See Session Replay requests |
Session Replay data (US) | https://ka-aus1.contentsquare.net https://ka.bf.contentsquare.net https://ka.af.contentsquare.net | See Session Replay requests |
Snapshot (EU) | https://s.contentsquare.net https://b.ba.contentsquare.net https://b.aa.contentsquare.net | See Snapshot capture |
Snapshot (US) | https://s-aus1.contentsquare.net https://b.bf.contentsquare.net https://b.af.contentsquare.net | See Snapshot capture |
Resources manager (EU) | https://srm.ba.contentsquare.net https://srm.aa.contentsquare.net | See Session Replay requests |
Resources manager (US) | https://srm.bf.contentsquare.net https://srm.af.contentsquare.net | See Session Replay requests |