Reputation: 19937
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:
Q: Which solution is the best? And why?
Some things to consider:
Upvotes: 5
Views: 2581
Reputation: 2406
I struggled to actually implement this, but figured it out. I feel the best approach is to use the Android Library feature, and differentiate with an app name string value in each project simple paid=true string value (or key file if you want a more complex solution).
Use this to get a 'common' copy of code, then multiple android projects that reference it`
Free & Paid version on Google Market
One Android Project (library) with ALL code, with 2 additional Android Project that reference code, but no actual classes. strings.xml differentiates App names (Paid & Free or whatever)`
Upvotes: 4
Reputation: 3306
Your 3rd approach, In-app billing, provides the most flexibility, but it's horribly complex (and thus error prone).
Your 2nd approach, a shared library project looks like the best compromise.
If you can use the same APK for both free and paid versions this can possibly be the best of both worlds.
Upvotes: 2
Reputation: 420
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)
Upvotes: 3