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:
Blackmart: The king of the android market and the best store to download nearly all free and paid apps, Blackmart is a must need for all Android Users who want to taste every android app. The app is also highly customized and user-friendly, having categorical divisions of Android Apps just like you see on Play Store.
Microsoft Store has nearly everything for your Windows device, including the latest games, films and TV programmes, creativity software and apps1.
1. Java. Firstly Java was the official language for Android App Development (but now it was replaced by Kotlin) and consequently, it is the most used language as well. Many of the apps in the Play Store are built with Java, and it is also the most supported language by Google.
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)`
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)
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With