I’m currently trying to find the best modern way to store user data(besides local storage ofc) without account logins (facebook, apple id) so data is backuped till they would decide to sync through an 3rd party account login.
I think many top game mobile games support this by default, and provide you with an user id until you would sign up with facebook / other accounts. Ideally it would also work with uninstall/reinstall cases.
My current idea would be to just get some device id, and store the data on my DB for this ID.
Though currently getting device id’s has its limitation.
Afaik most hardware id usage has been removed or restricted by Android & iOS.
For some projects I was using the vendorID(will be reset at reinstallation) for iOS and a modified macadress (only works with wifi enabled) for android. Praktik terbaik untuk ID unik | Developer Android | Android Developers
Just wondering if there would be any other ideas for storing & making backups for user data till they decide to login with 3rd party account logins.
Looking forward to some ideas,
Once a user uninstalls an app and re-installs, there is no reliable way to know if it’s the same user, especially on the newer versions of iOS and Android.
You can either give them a specific human-readable code on installation that they should save in case they want to recover their data at some point, and have it available in the menu somewhere so that they can view it in case they care about recovering their data if they plan on uninstalling.
In reality though, if the user cares enough about having multi-device support, or to be able to recover data on a device, then they’ll use a 3rd party login system. You just need to remind them every now and then about the benefits of doing so, but in the end it’s their choice.
If a user doesn’t care about recovering their data, then neither should you, so don’t worry about trying to figure out how to keep track of users who decide not to use a 3rd party login system (or your own login system if you offer that).
In your server-side database, you would probably need a last-login date, and if an account without a 3rd party link goes stale (for instance, over a year since last login), then flag the data to be wiped at some point, otherwise it’ll just end up wasting space and any costs associated with it because of abandoned accounts.
[Just an option]
If your game saves/backup is relatively small you could utilize the free user storage with support for iOS iCloud Store and/or Google Play Game Services. They’re easiest to use with a key-value system, we use a key for each saved game and the game data is just a json string (again, must be able to fit in some relatively small size).
It’s not less work, per se, but does remove the need for you to run (and likely rent $$) your own server, and essentially ties the data to the user such that they can uninstall and re-install and their data is still accessible to them.