This week we released a new app for iOS – DeviceID!
Every iOS device has a unique identifier (aka UDID) that can be used by app developers and ad networks to reference the device without requiring personal information (like a username or other sort of login). ¬†This may be used by developers for various purposes – for example, we use it when you purchase a paid version of our AngryApps to store a flag in our system allowing you to upgrade the free version of the app without charging you a second time. ¬
The unique identifier is also commonly used by ad networks to get a feel for what apps your device uses – if they see your ID on an ad request for an eBook reader as well as on an ad from an app for car tuning, they might assume the owner of that device likes to read about cars and show an ad relevant to you. ¬†This is done without any knowledge of who you are specifically, just what requests come from your device.
This past year, Apple began making moves to limit access to the UDID, which prompted developers to start using alternative means of uniquely identifying your device. ¬†The leading among these are:
- MAC Address:¬†Using the unique address assigned to the WiFi network adapter of your device.
- ODIN-1: An encryption of your device MAC address to increase security.
- OpenUDID:¬† A generated unique combination of letters and numbers stored in memory on your device, allowing it to persist so long as any other app on your device uses OpenUDID, but also allowing it to be “reset” to a new value if needed.
We opted to move our apps to OpenUDID as we like the blend of persistence with the ability for the end-user to “reset” their ID. ¬†The problem we ran into, though, was that for support purposes we occasionally ask a user to send us their UDID – but, unlike a standard UDID, with OpenUDID there were no apps in the app store for easily showing and sharing this info when needed.
So we created an app allowing this: ¬†DeviceID. ¬†And we decided to put it out there for free.
If you’re a developer, it’s an easy way to get the UDID, MAC, OpenUDID or ODIN address for development devices you are using. ¬†If you are an end-user, it’s a unique view into the way you are identifier in apps and ad networks.
Given the state of flux in the ID field right now, other standard will likely emerge, so our plan is to keep the app up to date with these over time.