In Android Studio I have two "flavors" of the same app, one is the free version with some functionality removed, the other is the full version with some extra bells and whistles thrown in.
When I am in the Google Play console, do I have to maintain two separate projects but just use the free-release apk for the free project, and the full-release apk for the paid version?
If so, how do I know ahead of time how to give a link from the free version to the paid version if I don't yet have any sort of URL or method for going there?
If you are referring to knowing before which URL should you add to your free app to redirect users to your paid app, then you can use the general convention that the Google Play employs
https://play.google.com/store/apps/details?id="packagename"
So you can give your packagename of your full app
Related
I am wondering what is the best way to have two different versions of an android app. I would like to have version of my app with ads and one without ads (the paid one). What is the easiest way to achieve this ? I have found something called version flavours here but since I am new to android development I am not sure if that is what I want. Please any suggestions for addressing this ?
You could have two versions of the application in Play store. However, you would have to maintain these separately and it is frustrating to upgrade from free to paid with this approach. If you chose this way of maintaining your application, you would have to have two projects, one for each version. This would result you into having two copies of almost identical source code.
One approach I've seen people do is that the free version also contains the premium features which are unlocked once the user installs a paid unlocker application from the store. However, this has the same result as the first option: you would have to maintain two applications (this time different, though) and the users would have to install additional software.
The best option is to include the premium version as an in-app purchase. The app would contain all the premium features but would be locked by default. Once the user pays for the in-app product (in this case the premium membership), he would unlock all the features.
You can read more about in-app billing here.
Why not just publish two apps with the free one as this :
MyApp
and the paid one as this:
MyApp(Paid).
And this is how to prepare them:
Get your app working, and add ads and then sign it and generate the apk. Publish it. MyApp.apk
Then go back, and remeove the ads, change the package name, add the Paid to the name, and then sign the apk. MyApp(Paid).apk
Then Publish it.
I developed an Android app and added it as a beta app to the play store. Then I discovered that my beta testers would have to buy the app, so I changed it to free (oops). I now understand that I can't change a free app to a paid app and that I need to add a new app to the developer console.
However, when I try to add a new app, the Google Developer Console reports that the title has already been used (obviously). But that's the name I need (i.e., I have the same-named app available on other platforms). What should I do? If I delete the existing (beta) app will it let me reuse the name? I don't want to try doing this without knowing, because I suspect I'll break the versions that are being used by my beta testers.
Thanks!
Make sure to use a different package name for your paid version. Rename the free beta version and then use the intended name for the paid one.
What about "Paid Apps" as Alpha/Beta testing...
I am uploading one "alpha_version" apk under "Alpha" tab... I have tagged application as "Paid" app and also configured specific prices... (As Google does not allows to change from "Free" to "Paid"). I have also added "Tester" for this alpha version..
My Questions/Confusion:
As my application is "Paid" one - do my "tester group" needs to pay before downloading this "alpha" version
Can I set application mode as "Free" for "Alpha" and latter on make is "Paid" for Production build?
Once I publish this "alpha" version - does it view-able/visible on Google Play store (I am sure it will be for visible for tester only
not for all users - right?)
Any help/pointer would be greatly appreciated - Thank You.
AFAIK all users of a paid app, will need to pay for it. So also Alpha/Beta users. If you want them to test the app without paying for it, then you can distribute the app through e-mail or web, etc... without using the Play Store
NO. You also can't change a free app to a paid app in a later stage.
yes, but only test users will get the alpha/beta version.
If you want users to test your app for free in the Play store and sell your app to the general public, then you could distribute your app in an obfuscated name with irrelevant description for free for testers, and the real app, with the real name/description etc will be paid
It's annoying but you could just create another app in your developer console that is free and load your APK there. You will have to change the package name though and maybe give it a test name. Keep this free app in beta and then they can test it for free.
Then when you want to release it you create a new app that is paid and release that.
Please see my answer here:
https://stackoverflow.com/a/35352421/5916188
Yes, you can use a promo code to give beta testers (and others) a free copy at install time.
I have completed my starter app for google play market. I would like to make a free and paid version, so what im wondering is:
Can I comment out the parts in the paid version for the free version and put in dialogs referencing the paid on the marketplace more specificly using the same project just different version numbers and exported apk's?
Im wondering because i heard the marketplace will not let an apk have the same package name but ive used apps before that if you have the paid version you cannot have the free version, so im guessing its all about the version#
thank you for your time
You are right that Google Play does not allow APK's with the same package name's to be uploaded. It is using the package name that the Play store differentiates different apps from other apps.
You are, however, a little off track in thinking that it is the version that takes care of same app (free and paid).
However (again) Free and Paid version of the same apps can co-exist on the same device downloaded with the same Google account. There may be a function in the apps which checks and informs the user. But that is not a mechanism provided by the Google Play store.
Take for example an app called FriendCaster. (I am an independent freelancer who has nothing to do with FriendCaster or OneLouder Apps)
The free version of FriendCaster is: https://play.google.com/store/apps/details?id=uk.co.senab.blueNotifyFree
The paid version if the same app is: https://play.google.com/store/apps/details?id=uk.co.senab.blueNotify
They both have the same versions expect with different package names (the endings are different). And you will be able to install both the apps simultaneously on one device.
In my case, I use the identical code base for both the free and the paid versions of my app. The only difference is (obviously) the paid version has all the advertisements stripped out from the XML's.
I use two different Eclipse work-spaces to keep my free and paid version separate from each other. This is more for convenience than any thing else. You can very well have the two projects in the same Eclipse work-space.
However, going by your comment on the OP, you cannot export two different APK's with different package names using the same project. If you have finished your paid version, you will need to create a new project for the free version. And you will need to export APK's of each project independently.
To keep parity in the code bases, I avoid using hard code wherever possible. For instance, in an Activity that opens the app's Google Play details page, instead of hard coding my package name in it, I use something like this:
Uri playUri = Uri.parse("market://details?id=" + Feedback.this.getPackageName());
Intent openGooglePlay = new Intent(Intent.ACTION_VIEW, playUri);
try {
startActivity(openGooglePlay);
} catch (ActivityNotFoundException e) {
// SHOW A TOAST
String tstMessage = "Could not launch the Play Store app.";
showToast.showToast(tstMessage);
}
I hope I have made some sense with this post. If you need any clarifications, feel free to ask away. :-)
So Ive decided to turn my free app into a paid app, the question I have is how does this affect people who previously downloaded my app, for example If I release an update in the future will the people who already dowloaded the app when it was free have to pay to download the update? this I would like to avoid as I dont want bad ratings in android market, thanks in advance!
Once an app is free on the Android Market it cannot be made a paid app. You can unpublish it, and you can publish the app under a new package name for a fee, but your existing users will not auto-update to it.
#mah is right, though there is a way around that limitation - instead of replacing your free version with a paid version, you could implement in-app purchasing to license the additional functionality. Now, you can have the free, limited version and it is simple for the user to upgrade within the app to the full, paid version.