DevRev SDK for Android

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)