biggora / device-uuid

Fast browser device uuid generation library. Written in pure JavaScript, no dependencies.
MIT License
183 stars 96 forks source link

No unique Id on euqal device models #7

Closed pilz97 closed 5 years ago

pilz97 commented 5 years ago

Hi,

first of all i thought that i really get unique ids..

Lastly i tried to get the UUID on two devices which are equal (same manufacture, model, software version,..), then i recognized that i get the same UUID on both devices :(

martinandersen3d commented 5 years ago

Just a brainfart from me.. but I think that apple has limited the number of information you can get in there safari browser. Is that something you can test?

martinandersen3d commented 5 years ago

Something about it here: https://fpf.org/2016/08/02/ios-10-feature-stronger-limit-ad-tracking/

Edited - note the published date (Published Date: 17 September 2018): https://support.apple.com/en-il/HT205223

martinandersen3d commented 5 years ago

What ID's did you get by the way? and on what hardware? :D

pilz97 commented 5 years ago

Thanks for the fast answer!

The device is from 'NCR' and its a 'costumized' android. I would say it's a unknown device.. Here you can read more: https://www.orderman.com/handhelds/orderman7/allgemeines/ The Id on both devices is: b99f2505-ad8a-46ea-b435-db7d603544d8

isopen commented 5 years ago

Repeated under chrome browser and ya browser (installed under one system). There was also a coincidence occurred on remote devices. Temporarily had to narrow the uniqueness to user_id :(

isopen commented 5 years ago

Helper :)

device-uuid/lib/device-uuid.js::1007-1012
for (var key in this.options) {
  //if (this.options.hasOwnProperty(key) && this.options[key] === true) {
  //     dua.push(du[key]);
  //}
  dua.push(du[key]);
}

But after updating the browser, there will be a new device_id within the browser. In addition, the resulting value can be "salted" (for example, milliseconds). device_id can be stored in the storage.

pilz97 commented 5 years ago

I am searching for plugin which always returns the same id on one device, but the id should be unique! I am building an angular app and generate an ios & android app with cordova, when i install it on a android or ios device i generate a id which will be send to an backend and the backend will save it in a database, when the user uninstalls the app and install it again, the app should generate the same id, so the backend knows, that device is a known one.

hope you know what i mean..

isopen commented 5 years ago

Probably the unique identifier of the browser is not yet standardized. Probably the process of generating from various parameters of the browser does not provide the necessary uniqueness. Try this patch https://github.com/biggora/device-uuid/issues/7#issuecomment-441511567

In the case of mobile development, devices already have a unique device_id. You can also use CloudMessaging. For Cordoba exists device.uuid (this cordo solution probably works through native interfaces)

pilz97 commented 5 years ago

Thanks for your help!

I also took a look at the device.uuid! But i was seraching for a solution which will work with cordova and electron.. I think it would be necessary to have to implementations of generate/read out the unique id, in case of cordova i will use device.uuid and for electron i have to search for a other solution!