In-app features

A newer version of this documentation is available. Switch to the latest version docs.

Alongside its tracking capabilities, the SDK embeds some features aimed at Contentsquare users such as Snapshot Capture and SDK Logs.

To enable in-app features within your app, you have to first make sure your app is launched in the background. To do so, simply start it and press the Android home button. Then, follow the appropriate method described as follows.

If 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 command

If 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:

Terminal window
adb shell am start -W -a android.intent.action.VIEW -d "cs-{{packageName}}://contentsquare.com?activationKey={{uniqueActivationKey}}\&userId={{userId}}"

If you don’t have access to the Contentsquare platform, you can ask the Contentsquare team to share the link with you.

Contentsquare provides Logging capabilities that allow you to see the raw event data logged by your app in Android Studio or in the Contentsquare platform. This is very useful 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 Studio

By default, almost all logs are disabled. There is only one log that is always visible to notify that the SDK has started:

I/CSLIB: Contentsquare SDK 4.31.0 starting in app: your.application.package

In order to enable all logs, you simply need to 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:

  1. Plug your Android Phone to your Computer (or use emulator)
  2. Start the Android Studio app
  3. Filter logs on CSLIB

Viewing logs in the Contentsquare platform

Section titled Viewing logs in the Contentsquare platform

To 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.

In 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…):

To 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 Items

When 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, i.e. 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:

  1. Long press on the snapshot button to open the Contentsquare settings.
  2. Move the slider to set the delay for scrolling. The value is displayed in milliseconds.
  3. Tap on the arrow back to close the Contentsquare settings.

You can now repeat the snapshot and then check it in the zoning editor.

  • 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, e.g. app in background, device rotation, 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.