This guide and chart should help facilitate the transition from the legacy UserExperior SDK to the new DevRev SDK in your Android application, providing insights into feature equivalents and method changes.
Feature | UserExperior SDK | DevRev SDK (Kotlin) | DevRev SDK (Java) |
---|---|---|---|
Installation | implementation 'com.userexperior:userexperior-android::<version>’ |
implementation("ai.devrev.sdk:devrev-sdk:<version>") |
implementation("ai.devrev.sdk:devrev-sdk:<version>") |
Initialization | UserExperior.startRecording(Context context, String ueSdkAppVersionKey) |
DevRev.configure(context: Context, appId: String, prefersDialogMode: Boolean) |
DevRev.INSTANCE.configure(Context context, String appId, Boolean prefersDialogMode) |
User Identification | UserExperior.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 Tracking | UserExperior.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 Recording | UserExperior.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) |
Opting in/out | UserExperior.consentOptOut() UserExperior.consentOptIn() UserExperior.getConsentStatus() UserExperior.getOptOutStatus() |
DevRev.stopAllMonitoring() DevRev.resumeAllMonitoring() |
DevRevObservabilityExtKt.stopAllMonitoring(DevRev.INSTANCE) DevRevObservabilityExtKt.resumeAllMonitoring(DevRev.INSTANCE) |
Session Properties | UserExperior.setUserProperties(HashMap<String, Object> userProperties) |
DevRev.addSessionProperties(properties: HashMap<String, Any>) DevRev.clearSessionProperties() |
DevRevObservabilityExtKt.addSessionProperties(DevRev.INSTANCE, HashMap<String, Object> properties) DevRevObservabilityExtKt.clearSessionProperties(DevRev.INSTANCE) |
Masking Sensitive Data | UserExperior.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) |
Timers | UserExperior.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 chat | Not 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 Notifications | Not 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) |