I have developed an Android app which I want to be available both as free and paid version. What is the best approach?
I can think of three solutions:
- Split the project into two branches and maintain both of them.
- Create a library project and have two additional projects, one ‘Free’ and one ‘Paid’ version.
- Use in-app billing.
Q: Which solution is the best? And why?
Some things to consider:
- My app is around 1.5 MB (AdMob excluded).
- I’m currently targeting Android 2.2 (Froyo).
- I do have some server APIs that would benefit from knowing if the client is paid or not.
- I seek to avoid my app being cracked. Not sure if this is a real problem these days…
I’m not a big fan of using ads in apps since unless your market share is already quite big, the money you get is gonna be tiny compared to the amount you will annoy your users.
I prefer a model of writing a basic app with all the core features, then adding extra functionality to a paid app and charging for that (of course using an android library project for sharing the bulk of the code). That way people who use your app and like it can support you by paying for it and then get a bonus of some extra features.
(disclaimer: this post is personal opinion based on my own experience and anecdotal evidence I’ve heard)