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.
Related
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 have a free version of game in play store and i am planning to update to paid version(package name will change) with more features, right now my free version has a leaderboard integrated into it, and i want my paid application to follow same leaderboard is it possible for sharing leaderboard between two apps. or its better if i go with in app purchase ?
Is it possible for sharing leaderboard between two apps?
Absolutely. You can use the same leaderboard(s) and achievements.
In your Google Developer Account, under the Game Services link, you setup a Game. (with all the Leader boards and Achievements you want to have available for any/all versions of your Game)
Then, under each Game, you then get to link Apps up to the Game. The linked apps can be up to 20 applications in total, covering Android/iOS/Web applications. Any of those can be free or paid.. .and you could have multiple leader boards, with each App deciding which leader board(s) to pick from and to display/update. If you want them to all share the same leader board(s), that's fine.. .if for some reason you want to have a leaderboard for each specific platform/app version that would be fine too, as well as maybe having an overall leaderboard for All of your different Apps. (from below, you can see I have three different apps linked to the dice game, and all three are android, and all are ready to publish, and they all use the same leaderboards/achievements and use the Room services)
The Google Leaderboard Tutorial doesn't cover this quite to the detail that you were probably looking for, and hopefully this shows how to setup multiple apps/platforms for one game a little clearer and with more confidence that it does do exactly what you are looking at implementing.
It's better if i go with in app purchase ?
I believe that depends. Usually, putting them separately may lead to a lot of extra work to get both to work together in the future.
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
I currently have an Android app which is distributed as two applications an Ad supported version and an ad-free version. The Ad-Supported version has over 10,000 users and the Ad-Free version has a couple of hundred. Currently both projects are completely independent making updates a fairly tedious task.
Ideally I would like to just updated one project and build be able to build both versions.
After looking online it seems I have two options:
Make a library containing most of the class files and then just extend this for the two versions (changing only the files that are different). As the project is fairly big this may be a large task and may cause some serious headaches.
Just release one version and use in-app purchases to remove the ads. This seems the easiest route but how do I allow my existing ad-free users to remove the ads via in-app purchase without paying?
Hopefully someone has been in a similar predicament before and can point me in the right direction.
Where I used to work we had the 2nd option. It helped us a lot since you just need to maintain 1 code/app/apk. In your case, I suggest you to do the same thing.
In order to migrate all your users to a single App, you can give a random code (generated with the email they are using and an algorithm to create it) via your "Ad-Free version" app. Then, in your All-in-one app you can ask for that code or activate the "In-App-workflow" in order to remove all Ads.
Edit:
Check this link:
How to get the Android device's primary e-mail address
I am always recommend SO user to used android inapp purchase.
Benefits:
1) Easily track manage your playstore user.
2) If updation require then update code on one place.
3) Secure payment with google policy.
4) many more feature.
#bencallis as per your question i recommend to you option 2 is better.
if you require any inapp information then put comment.
You're in a similar boat with me, though I've taken one step already.
I made an app for a small group of people that are close to me, free and ad-free, and released it. I then created another app for a wider group of people, free but with ads. The two applications were almost the same, except a few things that had to be app-specific (like strings, resources, and a few variables). After getting frustrated with updating both of them, I decided to go with the library approach. It might give you headaches in the beginning, but it will truly cut down on your updating. You'll only have to update the library file, then just compile and check the actual application.
Because of how you describe your situation, I think you'll have an easier time than me. Turn one of your applications (probably the ad-free one) into a library, then in the ad-supported version simply overwrite the layouts that show the ads.
I can't suggest your second option, only because, as far as I know, there is no way to do what you want.
I would like to make my app freeware, but if a user is willing to retrieve additional features, it should be possible to 'activate' them after in-app payment.
Should I set up my app as "FREE" (or can that cause trouble later as this setting can't be change anymore?) and which way would you recommend to go - should I retrieve the additional stuff from my own website, or does Google provide a way for it after payment was successful?
Basically the app will be (and stay) really useful (well I hope) in its free state already, I just want to kinda provide additional goodies for the few that would be ready to support and maybe want to get even more out of it.
Yes, set up your app as free.
What you're describing is the freemium model, where you give the app for free, and charge for advanced features:
http://en.wikipedia.org/wiki/Freemium
A lot of Android apps are successfully monetizing using the freemium model. One example is Angry Birds Space, a top downloaded free app, which uses in-app billing to sell Mighty Eagles or remove ads.