How to handle in-game events and app versioning?

I’m quite far along in the development of my current game project which I plan to launch to Google Play. There’s still one big thing that I’m not 100% sure on how to handle now that I’m at the point where I want to start planning for it.

If I want to hold in-game events - such as a Halloween or Christmas event - I would build in the required new content and release the new version - easy enough. But what about when it comes to the end of the event. I’ll want it so the person is forced to update their app/the app is force-updated automatically so that a person can’t keep the old version with the active event and farm all of the content until they unlock it all and then update.

Are there any good, pre-made systems out there for handling app events and versioning? Or any relatively simple solutions I could put in place?

Currently, my thinking is that I could use something like a bucket on AWS S3 to store a versioning file. On app start-up the file is downloaded and the app version checked against the version in the file. If they match, carry on. If they don’t, don’t allow the user to continue without updating (this part I’m not entirely sure on how to enforce).

Any advice would be greatly appreciated.

So, typically, what you’d do is check the system date in the application. That way you can roll out the new content a month ahead of time, but it will only actually show in your game during the promotion. You would just need date checks in your UI code to swap out the default assets with themed assets when DateTime.Now is within a certain range.