If I were making a game that depends on time (either some casual clicker stuff or a mechanic that provides periodic rewards to a single-player game), I would probably utilise NTP servers with a fallback to device time in case the user doesn’t have an internet connection. I assume this would stop people who aren’t tech-savvy from cheating the system.
I have also devised a pretty neat trick that might be applicable to this scenario - how about letting the player reap rewards either way, but when they gain internet access run a routine that compares the last time they’ve played the game with current time provided by an NTP server? And afterwards, if the time on file is ahead of network time, punish them somehow ![]()