Expo.Constants.deviceId

“An identifier that is unique to this particular device and installation of the Expo client.” (docs 8/30/17)

The documentation for this constant is unclear, especially given I assume you can use this constant in production and not only when using the Expo client?!

I assume it should be as follows, please verify my assumptions are correct and this is accurate, as follows:

This will be a unique identifier for this particular device and installation of the app. This ID will (may?) change if the app is uninstalled and reinstalled.

On iOS devices, this maps to identifierForVendor.

On Android devices… ???


Is there a link to the iOS and Android source code behind this constant (and the whole API in general)?

Thanks for pointing out that it’s unclear. I think I answered on slack but I’ll also answer here in case others search for the same issue.

On iOS, no, this is just a random udid which provides the guarantees stated in the docs. It’s not identifierForVendor.

On Android I think it behaves the same way but I’m not familiar with where it lives in the source code.

This behaves the same in standalone apps, it’s not limited to Expo Client.