I have a match 3 game. It will have in-app purchases too. My question is, right now, I store all data in dictionaries. The data my game will have is, it has all the levels whether they are unlocked and the high-score and all, it will have the amount of boosters the player has and the lives he has, lives auto-refill, one every fifteen minutes. I do use the check whether file is modified upon loading it. Plus if user uninstalls the game and re installs it, it would make all the purchases and user data go away because they were stored in the dictionary. Should, I use a database for it, I am thinking of firebase are there any other nice options? Also, I stumbled upon something called snapshots in google play services link to save games document This is exactly what, I want, so is this independent of a database, if, yes, how do, I implement this, basically, I just want a store of data which doesn't go away on uninstall and is not modifiable easily. I want the player to be able to sign in to their google play account to save data, if not signed in the data will get stored locally, but in order to restore it, need to sign-in like other games.