In-app features
Alongside its tracking capabilities, the SDK embeds some features aimed at Contentsquare users such as Snapshot Capture and SDK Logs.
Enable in-app features
Section titled Enable in-app featuresTo enable in-app features within your app, you have to first make sure your app is launched in the background. To do so, start it and press the Android home button. Then, follow the appropriate method described as follows.
On a device: scan the QR code
Section titled On a device: scan the QR codeIf you have access to the Contentsquare platform, you can open the in-app features modal from the menu and scan the QR code with your phone.
On an emulator: use the ADB command
Section titled On an emulator: use the ADB commandIf you are using an emulator, you can use the ADB command to enable in-app features.
If you have access to the Contentsquare platform, you can open the in-app features modal from the menu and select “Copy this ADB command”.
It will look like this:
If you don’t have access to the Contentsquare platform, you can ask the Contentsquare team to share the link with you.
Debugging and Logging
Section titled Debugging and LoggingContentsquare provides Logging capabilities that allow you to see the raw event data logged by your app in Android Studio or in the Contentsquare platform. Use this for validation purposes during the instrumentation phase of development and can help you discover errors and mistakes in your analytics implementation and confirm that all events are being logged correctly.
Viewing logs in Android Studio
Section titled Viewing logs in Android StudioBy default, almost all logs are disabled. There is only one log that is always visible to notify that the SDK has started:
In order to enable all logs, activate in-app features. Logging is directly linked to in-app features state: it starts when in-app features is enabled and stops when you disable in-app features.
To view logs:
- Plug your Android Phone to your Computer (or use emulator)
- Start the Android Studio app
- Filter logs on
CSLIB
Viewing logs in the Contentsquare platform
Section titled Viewing logs in the Contentsquare platformTo view logs directly on the platform, you can use Log visualizer. Log visualizer is a helper tool to see SDK logs without logging tools. It requires having platform access for your project and enabling in-app features. See the SDK Log Visualizer Help Center Article ↗ for more information.
Snapshot Capture
Section titled Snapshot CaptureIn order to unlock the full data-visualization capabilities of Contentsquare, the SDK provides a way to capture snapshots of your app screens. These snapshots can only be taken by Contentsquare’s users on their device. They are not captured from your end-users device. It means your Personal Data is safe, as long as you use a test user account.
Snapshots are used in the Zoning Analysis module to look at zone-level metrics (Tap rate, Swipe rate…):
Jetpack Compose support
Section titled Jetpack Compose supportTo enable Jetpack Compose support for Zoning, it is necessary to add a new Gradle dependency to your Gradle build file. Make sure to follow the Track screens section.
Lists with Slowly Rendering Items
Section titled Lists with Slowly Rendering ItemsWhen creating a Long Snapshot of a RecyclerView or a lazy Compose list, the contents of the list are scrolled automatically. If individual elements of the list are missing in the resulting snapshot, that is they are invisible, this may be because the elements take too long to render. In such a case, automatic scrolling can be delayed. You must have enabled in-app features:
- Long press on the snapshot button to open the Contentsquare settings.
- Move the slider to set the delay for scrolling. The value is displayed in milliseconds.
- Tap on the arrow back to close the Contentsquare settings.
You can now repeat the snapshot and then check it in the zoning editor.
Known limitations
Section titled Known limitationsSnapshot Capture
Section titled Snapshot Capture- The snapshot capture is only supported from Android API 26 (Android Oreo).
- The combination of CoordinatorLayout, AppBarLayout, and RecyclerView is currently not supported.
- ConcatAdapter is currently not supported.
- Lists with different item layouts are not supported.
- Items of a RecyclerView that are larger than the visible area are currently not supported.
- Two or more scrollable containers are not supported. Furthermore, horizontal scrollable containers are not supported.
- Some lifecycle events are currently not handled. For example: app in background, device rotation, or fragment change.
- The dark mode is currently not supported.
Snapshot Capture of Compose Screens
Section titled Snapshot Capture of Compose Screens- The snapshot capture is only supported from Android API 26 (Android Oreo).
- The snapshot for Jetpack Compose is not fully supported yet. This also applies to the combination of Compose and WebViews.
- Lists with different item layouts are not supported.
- The visual information may not be consistent for snapshots of Jetpack Compose screens. This applies in particular to transparency and visibility.
- Items of a lazy Compose list that are larger than the visible area are currently not supported.
- Two or more scrollable containers are not supported. Furthermore, horizontal scrollable containers are not supported.