Yep, this is a big PITA for me. Persistent is not persistent for sure. A mention in the documentation would have been nice. I don't have my devices locked down to roll out FMGo as I wish, so at any point one of my road warriors could upgrade, and make themselves unable to access the DB as their Persistent ID has changed.
Yep, bring back Mac address or give us something that DOES NOT CHANGE (i.e. is persistent) !
Yep. Persistent is more like InstallationID. They shouldn't name it persistent if it isn't persistent. Although the definition of persistent is "for a prolonged time"... PermanentID or DeviceID would be great.
I have automated it so that if the PersistentID changes, but the IP adres is the same as the last few hours, it will log and update the "deviceLog" table with the new id.
In the future when I have time, I think I might create a file on first installation with some hash in it. Then read the hash and compute it again from something like user account, ip adress, ios version.
I've managed to change the peristent id on my Windows laptop twice, that I've noticed and I think I know the reason why. My guess is that FileMaker writes a file to the drive that stores the persistent ID and it gets erased or overwritten. I think one of my disk cleaning utilities erased the file.
Why did't FileMaker use the id of the cpu, hard drive or some other part of the computer. Java is capable of deriving the serial number.
For privacy purposes, Apple severely limits what device-specific information iOS app developers (such as FileMaker) have access to. Each combination of app vendor and device gets an ID, Apple's "identifierForVender", and that is the only information available to FileMaker Go to identify a device. (FileMaker running on Macs & Windows uses different methods to generate PersistentIDs for those devices.) NIC address is not coming back; it would be inconsistent with Apple's strategy. Presumably the identifierForVender gets hashed to generate the Get ( PersistentID ) result. Perhaps Apple introduced some new event that generates a new identifierForVender other than uninstalling and reinstalling all FileMaker apps. There isn't anything FileMaker can do about it, and I doubt a PermanentID will ever happen as the ratchet of privacy advances.
You already mentioned the possibility of having a file local to the device that could persist longer than Get ( PersistentID ), and the flaw that that file can be shared between devices. You could stop that by authenticating a combination of the key in that file and Get ( PersistentID ), but then you're back where you started. All I can suggest is making the process of registering a new PersistentID as painless as you can (preferably something an end user can do without your intervention).