When using Advanced Authentication DeviceDNA SDK, customers often have questions regarding the use of device identifiers and how mutable they are across different scenarios such as app re-installation, OS updates, or factory resets. This article addresses the behavior of getRMDeviceId()
and setRMDeviceId()
and compares the SDK's behavior with OS-level device identifiers.
Advanced Authentication DeviceDNA SDK
What happens to the device ID after an app uninstall/re-install?
getRMDeviceId()
) and then reinstalls it, the behavior of the DeviceDNA SDK depends on how the device ID is stored.What happens to the device ID after an OS or security update?
When can the device ID change?
Key SDK Methods:
getRMDeviceId(): This method retrieves the device ID that uniquely identifies a device within the scope of the application. The SDK typically relies on OS-provided identifiers like CFUUID (iOS) or Secure.ANDROID_ID (Android).
setRMDeviceId(): You can customize the device locking mechanism by implementing the DeviceLock
interface and calling the setDeviceLock()
method to lock an account using custom device parameters instead of default device IDs.
Best Practices for Reliable Device Identification:
Additional Considerations:
setDeviceLock()
for more flexibility, especially when default identifiers are insufficient.Solution/Recommendation: For persistent and reliable device identification, using OS-integrated options like CFUUID, Secure.ANDROID_ID, or PublisherHostId is recommended for the best consistency across app uninstall/re-install scenarios and OS updates. Additionally, you can customize the behavior with the setRMDeviceId()
method to lock accounts based on custom parameters.