I released a free and pro version of an app. To prevent full functionality of the free version, I disabled some of the options in the options menu (and initialized them to being turned off). Therefore not allowing the user to turn them on, but allowing them to see what they were missing.
I’ve now released an update, and would like to introduce certain features into the free version that were previously disabled. The tricky part is I would like these features to be turned on by default, as I worry people may not release/bother checking the options menu.
As far as I understand, even if I make these options default to ‘on’ in the update, the user will have the settings from the previous version already, and they will be to the effect of having these options to remain turned off.
Is there a way to achieve what I’m trying to do? I suppose at a stretch, it would be just about fine to force a deletion of the user preferences on install.
It’s a bit of a hacky solution, but you could introduce a new SharedPreference: “hasUpgraded” or something. Default is 0, then upon resetting the user’s other shared preferences, set it to 1. Upon each app load, only reset said preferences if it is currently 0.
If you do this, I’d suggest coming up with some sort of scheme for the name of this new preference so you don’t end up with “hasUpgraded”, “hasUpgraded2”, etc…