I developed one application with advertisement. Now I am planning to make in paid without advertisement but free with advertisement.
Now my Question is: Is it compulsory to make two version of app by changing package?
if NO then how to manage the advertisement?
You cannot publish two apps with the same package name on the Play Store.
You have two options here:
Remove ads and publish it as a separate app with a different package name
Make ad removal an in app purchase.
No, two applications / one app is not advised, if you want a free app and a paid version, the second version should be an in app purchase, when the buy has been registered you remove the ads.
Read up on in-app purchases and store a secure variable that remove the ads
One app with in app purchase is the recommended way to go rather than two apps.
The android developer docs give details but you may want to look at this open source lib which handles the whole ad display/purchase logic for you.
https://github.com/MagicMicky/FreemiumLibrary
Related
I've a free Android app and I need to enable user to buy the app by hitting remove ads button. what is the best practice?
Questions:-
1-What is the best practice of converting free Android app to paid app? do I need to generate a new application with different package name?
2-What are recommended libraries/code to be included on top of free app to be paid app?
3-How to guarantee downloaded paid apk from out side google play will not work? and force user to buy the app from google play?
When I built an app, I did a separate build and uploaded a separate paid app without the ads. I regret this choice. IMO, going with in-app billing instead would be better.
I will be placing google ads in my mobile app but because it's more or less just an app which provides data, I will not be implementing any sort of user registration.
I would like to know what is the correct protocol for submitting a paid and unpaid version of the same app one is just without ads. Is it as simple as create 2 apps in the google app console and export one with ads built in and one without, or is there some form of API that you can use?
If it is just creating 2 app projects in the console, do I have to change the package name? Are there any conflicts that I should look for? I am using React-Native if that is important and for now exporting to only Android.
Edit:
People have recommended I use a single in-app purchase, but my issue is how am I supposed to detect whether a user has paid for the app or not if I'm not tracking users?
I want to publish an android app in he google play store in two modes:
The first free but with advertising. The second without advertising but the user have to pay. It is the same application but the difference is the ads.
Way is the best option to achieve this?
1 - One application that hides ads with a property? (app property, database property, etc)
2 - Two differents apps?
3 - Other solution?
Many thanks
All the best
I done it as 3 projects: one contains core project with additional hook and interfaces and two which implement end user application based on core. Technically it's looks like registering additional listeners for ads and IAP
I would recommend you keep it as one application with IAP so user can get rid of ads without losing any data and hustle. It's also good for google play rating as you'll have cumulative number of downloads and reviews
I have done this with all of my applications and I find that it's definitely better to keep it all in one application. With Android it's possible for your applications to be ripped after purchase and spread around for free without other users having to pay. Of course this isn't what you want so the way I get around this is to develop only one application. Inside that application have a managed in-app purchase that will remove ads. When the application is running, before displaying the ads, check to see if they have purchased the remove ads item and if they did don't show the ad. This stops you from having to repeat code and separate into different projects.
I should create one app, and create an unlocker for it to hide the ads. Most of the time you will see that some people will pay for your app once and then distribute it for free online. As you can see on the Google Play Store, there are a lots of apps, but if you want the full features you need to buy an unlocker. This kind of protection is much better compared to publishing two seperated apps.
Keep it in one project and use the Google in-app payments to manage the full version. If you have two separate apps people can just buy the full version, extract the .apk and then get a refund. That way they didn't pay anything and have the full version. They then can pass the .apk to anyone else.
In-app purchases are bound to the Google account, this does give you some security.
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 have just created a developer account at Google Play. Now I got to upload the application but I have a few doubts:
Can I add more then one android APKs for different applications?
Is it possible to upload an application for a testing and after that set the price of the app?
Is it possible to set such criteria where first 500 users get a free download and then the app will be paid?
Is it possible to delete an app and re-upload it if something gets wrong while uploading?
Multiple APKs for one application:
Multiple APK support is a feature on Google Play that allows you to
publish different APKs for your application that are each targeted to
different device configurations. Each APK is a complete and
independent version of your application, but they share the same
application listing on Google Play and must share the same package
name and be signed with the same release key.
Besides that, with your developer account you can create multiple application projects and provide your APKs for them of course.
No. After you have released an application for free you can not introduce a price for it. You'd have to create a new app project with a different package name.
This is not naturally supported by the Google Play Store. But you could implement this by writing a counter function that synchronizes over the web. You could also crawl/scrape your app page in the Google Play Store to get the install number. There are various ways.
After you upload your APK, there is some kind of sanity check integrated in the Play Store routine. This should prevent that anything goes wrong during the upload. Anyway, you can also upload a new APK, replacing the previous. That's how app updates work.
Your case overall sounds like you could use In-App-Billing to let your users access most functionality in your app for free, and after a certain time period has passed, offer them the full functionality after a payment.
Keep in mind that it is not a good practice to promote your app for free in the Play Store but then hide everything behind a payment wall inside the app.
Updated answer:
You need to have different package names (i.e. different app projects in your developer account) if you want to offer a free and a paid APK. It's actually a common practice and you'll find many apps in the Play Store that have a "free" and a paid "premium" version.
Very often, it would be easier for you to maintain and to update your app if the premium version only functions as a key (i.e. without actual functionality) that unlocks certain features of the free version. Therefore, you can check in your code if the user has installed the premium version.
Still, it would be more elegant to not "pollute" the Play Store with a dummy premium app and by implementing this with an In-App-Purchase of your premium functionality. Here is a good tutorial (besides the Android guide that I have linked above).
1)Yes, your account can have multiple applications. Or did you mean for the same app multiple apks?
2)No, once an app is free it can't have a price added to it later. If it has a price you can change what it cost though
3)No
4)You can always upload a new version, which seems to be what you want here.