Question: How would I detect if someone has already purchased a copy?

So, I released my game a little bit ago. I’m currently working on a prototype for my next title, but after that I want to do a few more updates. One of these is to release an ad-enabled, free version of the game. I had this working originally but pulled the free version due to an issue with MonoGame. Someone was able to help me work around this but by then I had already shelved the feature and planned to come back to it after release.

My original plan was to just have another copy of the game, but then it occurred to me that I could just integrate the ad functionality and drop the price to zero, offering an in-app purchase to disable ads. Of course, I don’t want to screw over those nice few (and awesome) folks who supported my initial release so I would want to detect whether or not someone had already purchased the game prior to the “free” release and just automatically give them the ad-free license.

Unfortunately, I can’t think of a way to do this within my current skill set and I’m kind of coming up blank on the google search terms. I’ve tried a couple things but they don’t seem right and I’m not getting anything even remotely close to what I’m wanting anyway.

Anybody have any thoughts here? It’s not really a blocker, I can always just release a separate, free version. I’m not too worried about it… I can just put this in the column of things to learn from and improve upon next time, I was just wondering if anybody had run into this or had any ideas.

Thanks!

I think I would generate a pair of crypted keys and store one in Windows registry

Hey, thanks for your response! I’m not quite sure what you mean here though. Could you please elaborate?

Also, a few things to note…

  • This would be on Android (and possibly iOS down the road). No plans for a Windows release.
  • I have no control over what version the user has before taking the latest update. For example, I had considered releasing an update that created a binary data file on the file system and then, in a future update, if this file was present, considering the game “fully purchased”.

I don’t really know about android dev, but this is not very monogame related, you should find more help on a android dev based forum.

Yea, I was just wondering if anybody here had encountered, thought about, or had any ideas surrounding this topic. Thanks for your thoughts! :slight_smile: