SDK Reference

API method signatures and usage across all platforms

SDK Reference

This reference documents UXCam SDK methods available across all platforms. For platform-specific implementation guides, see the Mobile SDK or Web SDK documentation.


Core APIs

Configuration & Initialization

MethodDescription
startWithConfiguration(config)Initialize the SDK with configuration options
optIntoVideoRecordings()Enable screen recording (required for iOS/Android)

Screen Tagging

Tag screens for analytics and heatmaps.

MethodDescription
tagScreenName(screenName)Manually tag the current screen
// iOS
UXCam.tagScreenName("Home Screen")
// Android
UXCam.tagScreenName("Home Screen")
// React Native
RNUxcam.tagScreenName("Home Screen")
// Flutter
FlutterUxcam.tagScreenName("Home Screen")

Events

Track custom user actions.

MethodDescription
logEvent(eventName)Log an event
logEvent(eventName, properties)Log an event with properties
// iOS
UXCam.logEvent("Purchase", withProperties: ["item": "Pro Plan", "price": 9.99])
// Android
UXCam.logEvent("Purchase", mapOf("item" to "Pro Plan", "price" to 9.99))
// React Native
RNUxcam.logEventWithProperties("Purchase", { item: "Pro Plan", price: 9.99 })
// Flutter
FlutterUxcam.logEventWithProperties("Purchase", {"item": "Pro Plan", "price": 9.99})

User Identification

Associate sessions with user identifiers.

MethodDescription
setUserIdentity(userId)Set the user identifier
setUserProperty(key, value)Set a user property
// iOS
UXCam.setUserIdentity("user_12345")
UXCam.setUserProperty("subscription", value: "premium")
// Android
UXCam.setUserIdentity("user_12345")
UXCam.setUserProperty("subscription", "premium")
// React Native
RNUxcam.setUserIdentity("user_12345")
RNUxcam.setUserProperty("subscription", "premium")
// Flutter
FlutterUxcam.setUserIdentity("user_12345")
FlutterUxcam.setUserProperty("subscription", "premium")

Privacy APIs

Occlusion (Sensitive Data)

Hide sensitive content in recordings.

MethodDescription
occludeSensitiveView(view)Hide a specific view
occludeSensitiveScreen(true)Hide the entire screen
occludeAllTextFields(true)Hide all text input fields
// iOS
UXCam.occlude(sensitiveView)
UXCam.occludeAllTextFields(true)
// Android
UXCam.occludeSensitiveView(sensitiveView)
UXCam.occludeAllTextFields(true)

Consent & Opt-Out

Manage user consent for recording.

MethodDescription
optOutOverall()Stop all recording for this user
optIn()Resume recording (if previously opted out)
optOutStatus()Check if user has opted out
// iOS
UXCam.optOutOverall()
let isOptedOut = UXCam.optOutStatus()
UXCam.optIn()
// Android
UXCam.optOutOverall()
val isOptedOut = UXCam.optOutStatus()
UXCam.optIn()

Session Control APIs

Recording Control

Control when recording happens.

MethodDescription
stopSessionAndUploadData()End session and upload
pauseScreenRecording()Pause screen capture
resumeScreenRecording()Resume screen capture
isRecording()Check if currently recording
// iOS
UXCam.stopSessionAndUploadData()
let recording = UXCam.isRecording()
// Android
UXCam.stopSessionAndUploadData()
val recording = UXCam.isRecording()

Crash Handling

Configure crash and exception reporting.

MethodDescription
reportExceptionEvent(exception)Report a handled exception
Configuration: enableCrashHandlingEnable/disable crash capture

Debugging APIs

Integration Logging

MethodDescription
Configuration: enableIntegrationLoggingEnable verbose debug logs
urlForCurrentSession()Get dashboard URL for current session
// iOS
config.enableIntegrationLogging = true
if let url = UXCam.urlForCurrentSession() {
    print("Session URL: \(url)")
}
// Android
val config = UXConfig.Builder(key)
    .enableIntegrationLogging(true)
    .build()
val url = UXCam.urlForCurrentSession()

Platform-Specific APIs

Some features have platform-specific implementations:

FeaturePlatformsGuide
Jetpack Compose TaggingAndroidGuide
SwiftUI TaggingiOSGuide
Flutter Route TrackingFlutterGuide
Jetpack Compose OcclusionAndroidGuide
WebView HandlingAllGuide

See Also


Did this page help you?