Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Mobile device uniqueness for iOS and Android

I am seeking a means of securely identifying a mobile device using a unique identifier. Every time I install my app on a specific device, I should get the same unique identifier. This identifier will be uploaded to the server backend and saved for future reference.

It is essential that this be achieved without any dependence on a phone's IMEI number. Apple has long since prohibited it for iOS, and Google may do the same tomorrow for Android.

For Android, at least there is ANDROID_ID. What about iOS ? Is there nothing at all ?

There has to be a standard, foolproof way of doing this for both Android & iOS. I am interested in any/all/paid/free/native/third-party solutions for the same. What have other companies done to solve this problem ?

I have already read the following posts:

1. Identifying App Installations.

2. Is there a unique Android device ID?

3. Getting a unique ID signature for every android device.

4. Persistent, Cross-Install Device Identifier on iOS: Using Keychain.

5. UIDevice uniqueIdentifier Deprecated - What To Do Now?

6. Always get a unique device id in iOS 7.

7. iOS7 - Device unique identifier.

8. Implementing Unique ID as UUID and saving it in Keychain.

I would like to go beyond this. What else can be done ? Is there a comprehensive, once-and-for-all, bulletproof solution out there ?

like image 382
Y.S Avatar asked Aug 11 '15 04:08

Y.S


1 Answers

From the posts you listed above, there're already answers to your question: on iOS, save a generated UUID into keychain, so that it persists even after re-installation. However, factory reset will clear that UUID, you should be aware of this limitation. This is not a foolproof solution, as it's limited by Apple's platform, but still, it's good enough and used by many apps.

like image 92
utogaria Avatar answered Sep 30 '22 13:09

utogaria