User rewards like this should be handled by an external server, something you control. That way you can keep track of your own time and other data, and the client (your game) gets information from the server as the sole source of truth. The downside is obviously that your users will need to have an internet connection to receive rewards. But as long as the core functionality of the game is playable without an internet connection, they can play the game while offline, and only need a connection for a small set of extra functionality (like rewards) it should be fine.
Consider whether it is really worth the effort of preventing your users from "cheating", though. If your rewards system is somehow designed to make you money with some kind of "freemium" model, then you obviously need to put a lot of thought into how you secure and control rewards. But if this is a casual or free game and the stakes are low, does it really matter? Only a tiny fraction of your users will actually take the time to try and cheat. And if they do, who cares? Let them play the game the way they want to play - it's there for them to have fun after all.