[ https://issues.apache.org/jira/browse/CB-1702?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13483116#comment-13483116 ]
Jesse MacFadyen commented on CB-1702: ------------------------------------- We have to be careful because the packageSpecificToken may be affected by hardware changes, including docking/undocking, adding removing usb devices, ... Generating our own id and storing it in a persistent location is probably 'good enough' as there is no need to identify an app/device beyond an un-install. The uuid should however survive an application update. My advice is to move the uuid from localStorage which can be wiped simply by calling localStorage.clear() to a known file on the filesystem. ie. on load, synchronously check if the file 'appDeviceIdentifier.txt' exists if so, read it's string uuid value and use it, otherwise, generate a uuid, and write it to the file 'appDeviceIdentifier.txt' > device.uuid should use HardwareIdentification.GetPackageSpecificToken, not > utils.createUUID > ------------------------------------------------------------------------------------------- > > Key: CB-1702 > URL: https://issues.apache.org/jira/browse/CB-1702 > Project: Apache Cordova > Issue Type: Bug > Components: Windows 8 > Reporter: Matt Baxter-Reynolds > Assignee: Jesse MacFadyen > > The current implementation creates a device ID and puts it in localStorage: > // deviceId aka uuid > var deviceId = localStorage.deviceId; > if(!deviceId) { > deviceId = utils.createUUID(); > console.log(deviceId); > localStorage.deviceId = deviceId; > } > This should more properly use WinRT's HardwareIdentification class, e.g. > private string GetHardwareId() > { > var token = HardwareIdentification.GetPackageSpecificToken(null); > var hardwareId = token.Id; > var dataReader = Windows.Storage.Streams.DataReader.FromBuffer(hardwareId); > byte[] bytes = new byte[hardwareId.Length]; > dataReader.ReadBytes(bytes); > return BitConverter.ToString(bytes); > } > (I appreciate that's C# - I've cribbed it from another project, but this > should work in WinJS.) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira