I've been testing tapjoy virtual currency and come across a problem with preventing users cheating.
Consider this scenario:
Player launches game and earns or buys in game currency.
Player quits game and disables data on their device.
Player re launches game and spends currency, but currency server can't be
updated as no internet.
Player quits game, turns data back on and then launches game again.
Older currency value is restored from server meaning previous purchases were
The obvious thing to do is to store pending currency transactions in a separate value and reconcile these when internet is available. But on Android, if the user goes into task manager and clears the app's data, the record is lost and there's no choice but to use the server's currency amount.
Any suggestions to fix this loophole?