Troubleshooting
This section provides pointers to help you solve issues you can run into the Flutter SDK.
Sessions are not tracked
Section titled Sessions are not trackedFor sessions to be tracked:
SDK is not working on my hybrid app
Section titled SDK is not working on my hybrid appContentsquare SDK is not compatible with hybrid applications.
Cannot see in-app features on iOS
Section titled Cannot see in-app features on iOSIn-app features requires a specific configuration on iOS.
I lost some zoning data after changing my widget tree
Section titled I lost some zoning data after changing my widget treeContentsquare SDK uses zoning identifier that relies heavily on the structure of the widget tree. 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 provides the ReliableTarget
widget, designed to encapsulate the widget intended for reliable tracking.
Transactions are sent multiple times
Section titled Transactions are sent multiple timesA 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.
Cannot see images and texts are incomprehensible in Session Replay
Section titled Cannot see images and texts are incomprehensible in Session ReplayBy 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 MaskingConfig for more information.
Masking / Unmasking Session Replay using in-app features settings is not reflected in the player
Section titled Masking / Unmasking Session Replay using in-app features settings is not reflected in the playerThe masking / unmasking of Session Replay through the in-app features settings is not yet supported by the Flutter SDK.
This setting is intended for debugging purposes only. See MaskingConfig for more information.
Session Replay is enabled but I see nothing when connecting to the URL
Section titled Session Replay is enabled but I see nothing when connecting to the URLPut your app in background to trigger the sending of the session to the server.
Session Replay is not instantaneous and takes from 5 minutes to 30 minutes to be available.
For Session Replay to work, sessions must be tracked:
My replays not an exact rendering of my app
Section titled My replays not an exact rendering of my appThere 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.
If you notice a limitation that is not referenced in our documentation, contact us.
Session Replay requests are not sent from an Android emulator / iOS simulator
Section titled Session Replay requests are not sent from an Android emulator / iOS simulatorIf 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.
For more information about our endpoints and requests, see:
Replays are extremely long
Section titled Replays are extremely longIt 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 an HttpOverrides.global does not work
Section titled I use an HttpOverrides.global does not workDuring 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
Section titled SwiftContentsquarePlugin was registered twiceThere 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
Section titled Requests are failingIn 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 |