Migration guide

This guide helps transition from the legacy UserExperior SDK to the new DevRev SDK.

Feature equivalence chart

FeatureUserExperior SDKDevRev SDK (Kotlin)DevRev SDK (Java)
Installationimplementation 'com.userexperior:userexperior-android::<VERSION>’implementation("ai.devrev.sdk:devrev-sdk:<VERSION>") implementation("ai.devrev.sdk:devrev-sdk:<VERSION>")
InitializationUserExperior.startRecording(Context context, String ueSdkAppVersionKey)DevRev.configure(context: Context, appId: String, prefersDialogMode: Boolean)DevRev.INSTANCE.configure(Context context, String appId, Boolean prefersDialogMode)
User IdentificationUserExperior.setUserIdentifier(String userIdentifier)DevRev.identifyAnonymousUser(userId: String)
DevRev.identifyUnverifiedUser(identity: Identity)
DevRev.updateUser(identity: Identity)
DevRev.logout(deviceID: String)
DevRev.INSTANCE.identifyAnonymousUser(String userId)
DevRev.INSTANCE.identifyUnverifiedUser(Identity identity)
DevRev.INSTANCE.updateUser(Identity identity)
DevRev.INSTANCE.logout(String deviceID)
Event TrackingUserExperior.logEvent(String event, HashMap<String, Object> properties)DevRev.trackEvent(name: String, properties: HashMap<String, String>)DevRevAnalyticsExtKt.trackEvent(DevRev.INSTANCE, String name, HashMap<String, String> properties)
Session RecordingUserExperior.stopRecording()
UserExperior.pauseRecording()
UserExperior.resumeRecording()
DevRev.startRecording()
DevRev.stopRecording()
DevRev.pauseRecording()
DevRev.resumeRecording()
DevRev.processAllOnDemandSessions()
DevRevObservabilityExtKt.startRecording(DevRev.INSTANCE, context)
DevRevObservabilityExtKt.stopRecording(DevRev.INSTANCE)
DevRevObservabilityExtKt.pauseRecording(DevRev.INSTANCE)
DevRevObservabilityExtKt.resumeRecording(DevRev.INSTANCE)
DevRevObservabilityExtKt.processAllOnDemandSessions(DevRev.INSTANCE)
Opt-in or outUserExperior.consentOptOut()
UserExperior.consentOptIn()
UserExperior.getConsentStatus()
UserExperior.getOptOutStatus()
DevRev.stopAllMonitoring()
DevRev.resumeAllMonitoring()
DevRevObservabilityExtKt.stopAllMonitoring(DevRev.INSTANCE)
DevRevObservabilityExtKt.resumeAllMonitoring(DevRev.INSTANCE)
Session PropertiesUserExperior.setUserProperties(HashMap<String, Object> userProperties)DevRev.addSessionProperties(properties: HashMap<String, String>)
DevRev.clearSessionProperties()
DevRevObservabilityExtKt(DevRev.INSTANCE, HashMap<String, String> properties)
DevRevObservabilityExtKt.clearSessionProperties(DevRev.INSTANCE)
Masking Sensitive DataUserExperior.markSensitiveView(View view)
UserExperior.unmarkSensitiveView(View view)
DevRev.markSensitiveViews(sensitiveViews: List<View>)
DevRev.unmarkSensitiveViews(sensitiveViews: List<View>)
DevRevObservabilityExtKt.markSensitiveViews(DevRev.INSTANCE, List<View> sensitiveViews)
DevRevObservabilityExtKt.unmarkSensitiveViews(DevRev.INSTANCE, List<View> sensitiveViews)
TimersUserExperior.startTimer(String timerName, HashMap<String, String> properties)
UserExperior.endTimer(String timerName, HashMap<String, String> properties)
DevRev.startTimer(name: String, properties: HashMap<String, String>)
DevRev.endTimer(name: String, properties: HashMap<String, String>)
DevRevObservabilityExtKt.startTimer(DevRev.INSTANCE, String name, HashMap<String, String> properties)
DevRevObservabilityExtKt.endTimer(DevRev.INSTANCE, String name, HashMap<String, String> properties)
PLuG support chatNot supported.DevRev.showSupport(context: Context)
DevRev.createSupportConversation()
DevRev.setShouldDismissModalsOnOpenLink(value: Boolean)
DevRev.setInAppLinkHandler(handler: (String) -> Unit)
DevRevExtKt.showSupport(DevRev.INSTANCE, context)
DevRev.INSTANCE.createSupportConversation(Context context)
DevRev.INSTANCE.setShouldDismissModalsOnOpenLink(Boolean value)
DevRev.INSTANCE.setInAppLinkHandler(Function1<? super String, Unit> handler)
Push NotificationsNot supported.DevRev.registerDeviceToken(context: Context, deviceToken: String, deviceId: String,)
DevRev.processPushNotification(context: Context, userInfo: String)
DevRev.INSTANCE.registerDeviceToken(Context context, String deviceToken, String deviceId)
DevRev.INSTANCE.processPushNotification(Context context, String userInfo)