Migration guide

This guide helps you transition from the legacy UserExperior SDK to the new DevRev SDK in your Flutter application. Below is a feature equivalence chart and detailed instructions for migrating.

Feature equivalence chart

FeatureUserExperior SDKDevRev SDK
Installationuser_experior: ^<VERSION>devrev_sdk_flutter: ^<VERSION>
InitializationuserExperior.startRecording(appID)DevRev.configure(appID)
User identificationuserExperior.setUserIdentifier(userIdentifier)DevRev.identifyAnonymousUser(userID)
DevRev.identifyUnverifiedUser(userID, organizationID)
DevRev.identifyVerifiedUser(userID, sessionToken)
DevRev.logout(deviceID)
Event trackinguserExperior.logEvent(name)DevRev.trackEvent(name, properties)
Session recordinguserExperior.stopRecording()
userExperior.pauseRecording()
userExperior.resumeRecording()
DevRev.startRecording()
DevRev.stopRecording()
DevRev.pauseRecording()
DevRev.resumeRecording()
DevRev.processAllOnDemandSessions()
Opt-in or outuserExperior.optOut()
userExperior.optIn()
userExperior.getOptOutStatus()
DevRev.stopAllMonitoring()
DevRev.resumeAllMonitoring()
Session propertiesuserExperior.setUserProperties(properties)DevRev.addSessionProperties(properties)
DevRev.clearSessionProperties()
Masking sensitive dataUEMarker(child: TextField(controller: provider.fieldController, decoration: InputDecoration(border: OutlineInputBorder(borderRadius: BorderRadius.circular(15))),)DevRevMask(child: TextField(decoration: InputDecoration(labelText: "foo-bar"),),)
DevRevUnmask(child: TextField(decoration: InputDecoration(labelText: "foo-bar"),),)
TimersuserExperior.startTimer(timerName, properties)
userExperior.endTimer(timerName, properties)
DevRev.startTimer(name, properties)
DevRev.endTimer(name, properties)
PLuG support chatNot supported.DevRev.showSupport()
DevRev.createSupportConversation()
Push notificationsNot supported.DevRev.registerDeviceToken(deviceToken, deviceID)
DevRev.unregisterDevice(deviceID)