New in CUX: Mobile Analytics. Analyze real user behavior inside your app. Learn More

Upgrade to Android SDK 1.2.0

Upgrade to Android SDK 1.2.0

Browse topics

On this page

Update your native Android integration to SDK 1.2.0, then add the new features you need. Keep your existing CUX project token and consent handling.

Released on 12 October 2026. Requires Android 8.0 / API 26 or later.

Check your minimum Android version

Set minSdk to at least 26 before updating. API 23 to 25 are not supported by 1.2.0. Raising the minimum changes which devices can install your next app version, so review that app-release decision before proceeding.

This upgrade is for native Android. It does not update iOS, React Native or Flutter. Use the wrapper's own release instructions rather than overriding its Android dependency with 1.2.0.

Update the dependency

Keep the public packagecloud repository in your existing Gradle repository configuration and update your app dependency:

dependencies {
    implementation 'io.cux:analytics-compose-sdk:1.2.0'
}

Check the merged manifest for INTERNET and ACCESS_NETWORK_STATE. Keep one CuxAnalytics.init() call in your Application class. Preserve its project token, production logging and consent choice.

Replace obsolete screen APIs

Use CuxAnalytics.screen(name) for the visible screen or state. sendScreen() and Modifier.trackScreen() are not APIs in this release.

For Compose screen labels, register the actual host with navController.monitor(actualHostView). Then name the destination only when it is attached, visible and focused. Do not use a composition callback alone as proof that it is ready.

Follow Track and name Android screens for timing and label lifetime.

Adopt typed events where useful

Existing string trackEvent() remains available. Use trackEventTyped() when you need simple numeric or boolean parameters.

Review the typed validation rules before changing event calls. Invalid input rejects the entire event; it is not converted into a string automatically.

Treat WebView and stitching as separate tasks

WebView integration needs a compatible web collector and configured mobile/web project pair. SDK registration is one part of the setup.

Preview stitching remains optional and off by default. Confirm compatible processing and test your layout before enabling it. Leave it off during the basic upgrade check.

What changed in 1.2.0

  • Added labels for recognized screens and screen states through screen().
  • Added explicit Compose navigation host registration for labeling.
  • Added WebView registration and cleanup APIs for the mobile/web project bridge.
  • Added flat typed custom events through trackEventTyped().
  • Added optional preview stitching and advanced preview-region registration.
  • Improved the association of interactions and screenshots with their source screen/layout.
  • Added expandable-content declaration and refined element identifiers.
  • Revised pending-data ownership and connection handling. Pending data from an old visit is discarded when a new visit begins.
  • Restricted diagnostic content and added TLS/hostname checks for the new visit protocol.

These changes do not guarantee loss-free offline collection. Native scroll analytics and deferred campaign attribution are not activated in this release.

Verify the upgrade

  1. Build your app against 1.2.0 with its normal release configuration.
  2. Test initialization and consent on a supported device.
  3. Check Activity/Fragment and Compose navigation used by your app.
  4. Check labels, return navigation, custom events and user identification.
  5. Inspect masks after scrolling, loading content and opening overlays.
  6. Test background/foreground transitions and a brief connection interruption.

Verify optional WebView and stitching independently after their requirements are confirmed. For unexpected results, use Android troubleshooting.