Well, based of the Filemaker documentation for the Get ( PersistentID ) function, it does exactly what you want it to do...
Returns a unique, unchanging identifier for the computer on which FileMaker Pro is running, the device on which FileMaker Go is running, or the current FileMaker WebDirect session in the form of a 32-digit hexadecimal string. Get(PersistentID) helps you identify devices that access your solution.
Edit: Hmm, after further analysis, PersistentID might or might not evaluate correctly based on a number of scenarios
Persistent_ID actually is only ID that serves for computer AND iOS-Devices as well. It's what I'm using for activation.
In earlier days, you could use GetNIC (the ID from the network card). Evaluation of NIC got deprecated by Apple with iOS 7.
email@example.com referred to some of my Bug Reports.
For this report
PersistentID evaluation on windows in some rare cases will return 2 different values.
For the report about iOS
it seems that FMI chooses a workaround I described where part of the iOS file-path serves as a individual ID.
Resumé of this thread is: PersistentID isn't persistent!
It's a rather small issue where PersistentID changes when you delete and then reinstall FMGo.
Thank you so much.
Wanted to use FMP to deliver interactive content (video, images, text) like an ebook that works only in iOS.
that should work. You can have your clients to download your free FMGo solution as the host of the interactive content.
My customers activation-process is:
- customers fills in his address and email into a form in FM
- with registration request, a email is sent to me with this datas AND his PersistentID *)
- a calculation encodes PersistentID and product-case conditions in a password I send him back
- customer fills in the password he got into a field. A calculation checks encoded password versus PersistentID: If match, access granted √
*) use a dedicated mail account and script function send Email via smtp in order to have email sent directly with FM instead via his Mail-App.
Setting an fmp cookie is also an interesting idea.
Save a file somewhere on the drive and check to see if it exists and what its contents are. Maybe an FMP license file? You could embed it in a container field and insert it somewhere.
I was considering this also in the past. I think with both, Mac AND Win, with some PlugIns, you could even set file-attribute to "hidden".
The "cookie" must be outside of the solutions folder. Otherwise, copy/paste the entire folder to another computer would this also have activated.
The cookie can be a encoded FM-File as well.
This opens questions about iOS and path-structures.
THere were solutions on the market that have an own, etra plugin for licencing. This could be the 'diesel' - but might be an overkill and won't work on iOS
they were not smarter than anything you can build with average skills. Most of them were based on a annual fee or at least not on a reasonable price.
those plugins were developed by the FM developers themselves, just for *this* specific need AFAIK. I've seen this only once
I see this gets them in the first time, then the password takes over; kind like a key.
I want to lock access only to approved devices: when FM go calls the server, the server checks it's list of approved IDs and then accepts or rejects the clients login request. However when FMGo or iOS is installed/updated, the PersistentID is (/can be) reset - approved devices are now rejected, new 'key' required to regain access.
Serial number is fine, Nic is fine, any hardware changes I can cope with, but S/w gets updated in the field out of my control. a 'PersistentID' should be able to survive software changes, in order to be considered 'persistent' - IMHO
I recommend to go with the PersistentID anyway. According to my experiences, customers rarely delete iApp's which are used for productive purposes. If though, it's just a support case you should deal with.
Let unregistered users access only 1 layout to fill in their address and email and while store this datas, also store his PersistentID in a "temporary field".
Though this might be a table called "Privileges". If you want to grant him access then, copy his PersistentID into a field fk_PersistenID.
With a relation from his local PersistentID to Privileges::fk_PersistentID, you can set his full access state.
The only correct answer is "NO" based on your use of 'reliably".
First, after saying that the get(persistentid) is unique, Filemakaker goes on to list a few exclusions and the folks are turning up exceptions.
Next, you probably won't encounter this since your clients are not that sensitive nor valuable to the hackers and spies, but the computer you bought or your client bought in bulk could have been spoofed by the manufacturer meaning that each chip, etc. on it has a duplicated serial/id number like when the StarTrek replicator duplicates a cup of earl grey tea, hot, down to the molecule.
So, the most accurate and correct answer to your specific question is NO.
The next answer would have to be that it depends upon how specific you want to be....but that's another quesiton.
I still live in hope!
My MarkelSoft Inc. - iMySystem App shows:
Localization: Country de_CH, Language de, TimeZone Europe/Zurich, Currency CHF
Acceleration: Moved right, up & back
Accessories: None connected
Proximity Sensor: Available
Unique Identifier: adddaab895c10b56020f1f3e########
I wonder what this means?!
I've replaced part of the ID with hashtags