Unity ads is a great opportunity for games to make some serious revenue from the free players segment. These players would never pay a single dime, so making them watch a video ad results in revenue for your game.

The Unity platform is insanely good with video ads. Basically, you click a few buttons in unity, add Advertisement.Show();, and your done.

This is all nice and dandy until you realize that you need to now reward the user for watching the ad. The ad runs on the client, so it might be compromised .. Unity solves this problem as well by providing Server-to-Server callbacks.

So, basically, once a user watches an ad, Unity servers send a callback to your server with the user id that confirms that action. You can then be sure that the user can be awarded the promised reward without worrying about it being compromised.

The only issue here is that implementing backend callbacks is a chore, and I don’t think enough players will bother hacking the app. On the other hand, adding the reward system within the client is just too risky …

While throwing my thoughts here it occurred to me that I can implement the server callbacks not mainly to prevent hacking, but mainly to make the implementation easier. With the callback sent to my server, I can simply update the profile, and push that update to the client.