Android SDK Integration Guide

How to Get Started with UXCam for Android

Note

Need an account? **Start free ** – most teams finish this setup in < 15 min.

Integration Journey at a Glance

StepTaskGoal
1Customise SDK Configuration Jump →Capture your first live session
3Tag Screens Jump →Enable heat-maps & screen analytics
2Mask PII & Sensitive Content Jump →Hide passwords and other GDPR/CCPA data
4 ★Set User Identity & Properties Jump →Unify sessions, power funnels & cohorts
5 ★Tag Events Jump →Measure key actions & run final QA

Tip

Optional but highly recommended. Ship steps 1-3 to start getting replays and heat-maps, then add steps 4-5 for deeper analytics.

Key Benefits After Setup
  • Session Replay + Heat-maps – watch every UX moment in context.
  • Advanced Product Analytics – funnels, retention, feature adoption.
  • Insight Alerts – journey summaries, rage-tap & anomaly detection.
  • Engineering Analytics – client-side performance tied to real sessions, monitoring crashes, ANRs and handled exceptions with session replay & developer logs for faster debugging.
Tips Before You Begin
  • Create separate keys for debug & production to keep data clean.
  • Use feature flags to toggle UXCam in staging builds.
  • Check Logcat for “Verification successful” and “Session/Video uploaded” messages to confirm everything is wired up.

Android SDK · Quickstart

Step 1: Find your App Key

1.1: Grab your key

If you don't already have it, grab it in App Settings -> App Key on your UXCam Dashboard.

Important

Create separate keys for debug/production. Keep your data clean, no need to mix test actions with real user insights!

1.2: Keep it out of source control:

add it to local.properties (already in the default .gitignore) or inject it via your CI, then expose it safely at compile-time so you never hard-code secrets


Step 2: Add the SDK

pod version

In your module's build.gradle, add:

repositories {
  maven { url 'https://sdk.uxcam.com/android/' }
}
dependencies {
  implementation 'com.uxcam:uxcam:3.+'
}

Step 3: Start Recording

From your Application Class or Launcher Activity, add the configuration and start the SDK.

Important

Make sure to start the SDK at the earliest possible Context.

import com.uxcam.UXCam
import com.uxcam.datamodel.UXConfig

class MyApp : Application() {
  override fun onCreate() {
    super.onCreate()
    val config = UXConfig.Builder(YOUR_UXCAM_KEY).build()
    UXCam.startWithConfiguration(config)
}
import com.uxcam.UXCam;
import com.uxcam.datamodel.UXConfig;


public class MyApp extends Application { 
@Override
public void onCreate() {
super.onCreate();
UXConfig config = new UXConfig.Builder(YOUR_UXCAM_KEY).build();
UXCam.startWithConfiguration(config);
 }
}

Success

This completes the most basic integration process. Your first session will be uploaded as soon as you background your app and will be shown in your dashboard after a couple of minutes


Advanced SDK Configuration

You can control how the SDK is configured via the configuration object you create, the available parameters are below:

Want to Debug?

Use our configuration option .enableIntegrationLogging(bool) to view more verbose logs in your Logcat, this will help you verify everything and pinpoint possible hurdles you face down the line.

Rest of Options

  • .enableAutomaticScreenNameTagging(bool) True by Default. Set to false if you want to disable automatic screen tagging.
  • .occlusions(Arrays.asList(occlusion)) For passing occlusion for screens from the SDK startup, we'll get to that here.
  • .enableCrashHandling(bool) True by Default. Set to false if you want to disable crash capture.
  • .enableMultiSessionRecord(bool) True by Default. Set to false to stop any session after the first one from being recorded.

Next Steps

You've successfully integrated UXCam and sent some sessions, great job! 🎉 But there's so much more you can do. Now, let's go further into setting things up.


What's Next? ...