I'm using the Parse framework to create player account functionality in an iOS game so that data is accessible at any device. However, I'm not sure what the best approach to 'sync' this data would be in order to minimise the api request count yet make it appear as everything is always synced. I'm currently refreshing data at startup, coming from background and after each game. However, that is already creating a lot of requests! I was thinking of placing a 'sync' button in the menu so that only then data is synced and normally saved only locally but it's the last resort really.
Game Outline:
- The players sign up or login using their account or Facebook details
- Player chooses avatar
- Choice is stored to their account
- They play a 'game' and eventually they lose
- The summary screen is shown and points are added, new player level is calculated and stored
- Player can buy hints and helpers via in app purchase (consumable)
- The number of hints and helpers is stored to their account
- Game is universal so must be in sync with devices
What is the best practice for use of Parse in an online GAME with many players?
Edit:
I solved the problem by creating a NSCoding compliant NSObject that I then archive and save to Parse. This means all data is saved and loaded at once and I only need to update it at startup and after important events.