This question might be off topic, but I wanted to ask the fellow developers.
Is there a way on Google play I could change my free app to a paid app?
What would happen to the existing users if it is allowed? Would they be asked to pay when the new update is available?
You cannot change a free app to a paid app on the Google Play store. You could re-upload under a different name, but this would obviously fracture your user base.
You could add in-app payment processing to your free app and charge for enhanced features. Per
http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=1153479
"By using the in-app billing feature you can add revenue-generating features to your applications, enhancing the revenue potential of paid applications and turning free applications into new revenue sources."
Now, could you disable functionality that was already available in the free app, and then charge via in-app payments to have it restored? Technically I do think it could be done, since you are in control of your implementation of those features, although you would have to investigate whether that would be a violation of Google's policies.
However, doing it might alienate your users, and if word got around they might even stop updating your app to avoid the "trap." So a much better approach would probably be to add enticing new functionality that enhances the existing functionality, and then charge for it.
You cannot. Check this
"Once your app has been offered for Free, the app can't be changed to Paid. If you want to charge for the app, you need to create a new app with a new package name and set a price."
Its not possible, we need create paid app always then you can make it free
Related
I am developing an Android app with two modes
Trial - free with limited functionality. The user has no time limit here. They can continue to use the app for forever but will not have access to full functionality.
Paid - full functionality. The user can make a one time payment to gain full functionality.
I have seen some posts indicating that you could publish two different apps to the Play store, but I would prefer to publish one app and use an internal flag to limit functionality when in Trial mode.
What is the best way to do this on Play Console? Should I set the App pricing as free and then add an In-app product for the paid version? Then from my app I can have a button that makes the request for the purchase?
The Play store indicates that once an app is published as free then it cannot be changed to paid? Is there some way to indicate paid app that has trial with limited functionality?
I don't want to use Subscription since the payment is one-time to get the full App.
Are there other good options to follow?
Using the Google Play Billing Library is the Google recommended way to do this (integrates with GPay nicely), otherwise you can use other payment processors and setup a server configuration to verify users purchases.
Using only an internal flag is not recommended as if users ever clear app data/uninstall their purchase is lost.
I was unable to find clear reply on Google's help.
App is Free to use. It's absolutely useful.
Also it's possible to buy subscription and get more in-app options.
Then is this app Paid or Free ?
As far as I understand it's paid.
But when I select Paid option in Developer Console, then it requests to provide price of the App. But App, by itself, is free to use.
What price should I enter then ?
Or is it Free ?
The difference between paid and free is at the time of installation. Do you have to pay to install the app or can you download it for free. In other words, does the button in the store say "buy" or just "install"?
It does not matter whether the app has in-app purchases (1) or ads later on. Both free and paid apps can have that but most app that rely on subscriptions and in-app purchases will be free.
The official developer's guide explains it here: https://support.google.com/googleplay/android-developer/answer/6334373
For an overview of all the monetization options check out the course linked on https://play.google.com/console/about/guides/monetize/
The important points for the decision:
Paid apps are not available everywhere. See https://support.google.com/googleplay/android-developer/table/3541286 for a list of countries and limitations.
Paid apps cannot be set to a price of 0. This means no "This week free" type of promotion. There is in fact a minimum price you can set.
Paid apps can be converted to free apps but never back. Whether existing customers will like you for that or how you could compensate them is a different question.
Free apps must stay free forever. You can only unlist them and publish them under a new name.
(1) Some regions do make a difference between free apps with in-app purchases and free apps without them when it comes to availability. Basically, Google will not let you download an app with in-app purchases when they can't sell you those in-app purchases in that country.
It's like this:
Free: Completely free. No cost to download. You can still run ads, if you wish. You can, also use IAP here, if you'd like.
In App Purchases: Means that the user can pay money for things within the app. Upgrades, level unlocks, subscriptions, things like that. Your app can be free, but still have this option.
Paid: You are charging people to download the app. $.99 is the USD minumum. You can, also us IAP here, if you'd like.
In other words, you can combine Free/Paid and In App Purchases, if you wish. But free to download, still means free.
I work on a new version of my application already available on the Store.
For the moment this is a paid app.
I want to change my business model and set the app price to free with the possibility for new users to unlock some features by purchasing an in-app.
I already understand how to add the in-app.
I don't know how to manage users that have already bought the app!
What is the good way to detect / unlock an in-app for my previous users when they will update the app?
Thanks
François
I would do it in three steps:
Publish a new release of the paid app that includes a feature that sets a SharedPreference (or any other way) to mark the fact this one was paid
While users are upgrading to the new version, prepare the future free release in a way it checks whether the SharedPreference described in 1. exists. Unlock features accordingly and keep them locked for non-paid instances
Publish this new version and switch to the free business model. The SharedPreference will survive the upgrade.
This would work for most users but this is not perfect though: users who will have either
uninstalled/reinstalled the app (even the new free version)
installed the app on a new device (even the new free version)
kept a former version of the paid app that doesn't set the SharedPreference
would not benefit from the unlock.
Answer from Google support:
"there isn't currently an easy way to allow users that have previously purchased the app to buy in-app products. These users might have to purchase the in-app items like all other users. We apologize for any inconvenience this may cause."
I have a successful paid for application on Google Play Store and want to update this app to be a free application with in-app purchasing.
I have just completed developing the free version of the app which gives users restricted access which can then be unlocked using an in-app purchase system.
The issue i have is that all my existing users who have paid for the app will upgrade and then be prompted to pay again, which of course isn't right.
Is there any way to check the purchase history of the user, identify that they have paid for the app previously and unlock the extra features without the in-app purchase?
Thanks for any help.
Lewis
It's been a year, so the OP probably doesn't need this, but in case anyone else happens upon this one...
You could approach this a couple of ways. Obviously there is some business logic on your new in-app purchasing app to track who has/hasn't paid. So the two ways I see you being able to go about this is as follows:
Idea 1:
You could do a preliminary update to your paid app that stores a SharedPreference or some other persistence in the app (you could store the versionCode, so you know what you're upgrading from and have business logic around that). Then update to the free version, and have the free version check your shared preference and do the right thing on an update from a "paid" versionCode.
Idea 2:
You could keep both apps separate (have a paid version and a free with in-app purchases) and push an update to the paid version to have a BroadcastReceiver that doesn't really do anything other than listen to specific intents and have your in-app purchase check to see if something will receiver your custom intent. If your old paid-version exists, then they paid for it, if not they didn't. (If they paid for the paid version then uninstalled you'll have problems obviously...)
Idea 3:
You could keep both apps separate (have a paid version and a free with in-app purchases), and push an update to the paid version that just posts an Intent to open the in-app purchase app (if it's installed) with some special arguments, to let you know they opened it via a paid app and do the right thing to set them up as having paid for it in-app. That opens yourself up to some detection problems though... (Solvable but kind of clunky)
You can keep the existing paid version and create another free version.
If you really don't want to have 2 versions, just make it free and tell users something like 'Contact us if you have bought the paid version. We will give you redeem code to unlock xxx'.
https://developer.android.com/distribute/tools/launch-checklist.html#decide-price
This link seems relevant, hope it helps
On Google Play, you can publish apps as free to download or priced. Free apps can be downloaded by any Android user in Google Play. Paid apps can be downloaded only by users who are in a country that supports paid downloads and have registered a form of payment in Google Play, such as a credit card or Direct Carrier Billing.
Deciding whether you apps will be free or paid is important because, on Google Play, free apps must remain free.
Once you publish an app as a free app, you cannot change it to being a priced app. However, you can still sell in-app products and subscriptions through Google Play's In-app Billing service.
If you publish your app as a priced app, you can change it at any time to be a free app (but cannot then change it back to priced). You can also sell in-app products and subscriptions.
If your app is be priced, or if you'll be selling in-app products, you need to set up a Google payments merchant account before you can publish.
I feel the most easy way is to use theese line of codes
This gives you the old version code
SharedPreferences prefs = getSharedPreferences("Name_of_Prefs", MODE_PRIVATE);
int oldVersionCode = prefs.getInt("version_code", -1);
This gives you the current version code
int currentVersionCode = getPackageManager().getPackageInfo(getPackageName(),0).versionCode;
Now you can compare and do what you want. Don't forget to update after every time
with this line of code
prefs.edit().putInt(PREF_VERSION_CODE_KEY, currentVersionCode).commit();
In my case (affirmations counter app)
my paid app is running based on sharepreference value "lastaffirmationcount"
in my new iap app i just changed the way of I'm saving the affirmations counter values like "lastaffirmationscount_foriap"
So what i did in my free with In app purchase app is,just cross checked the "lastaffirmationcount" value is not null,if its null then it means new user,if not null then it means he is old user who bought the paid app
so the old user will not suffer forever
(Optionally Once its checked i immediately ask this user to sign in with google and saved his email as a premium user to ur database)
For Google Play there's no distinction between having paid for an app or downloading it for free. For example, if an user download an app while it's free and it's later changed to paid that user will still have full access to it, even being able to download it on other devices.
There are some lame workarounds for that:
Enable google play game services on the paid version and try to convince users to connect to it. Use google play services to store "bought while paid" information to the cloud and restore it whenever that user logins
Give all the users who've bought some key to unlock features
Create a different for the free version of the game
That said, keep in mind that many games have become free after some time. Maybe the users won't mind it that much.
I have a free app running on google play store.
I want to add In-app billing feature in my application.But still I want to keep my app free(i.e.,Not paid apps).So is it possible.I have google merchant account.
You can add in-app billing but if you have existing users you will not want to restrict features that are already available to them for free. The usual use of in-app billing is to have a free app with a basic tier of features that remain free indefinitely, and then to create a value-added tier of features that can be accessed by making an in-app payment. If you deviate from that model by charging for features that people were told they could obtain free, then you will have lots of angry users and bad reviews. I don't know whether Google would also look askance at it, but the effect on users should be enough to make you avoid it.
The one exception would be if you offer a timed free trial up front, and all of your users were told from the start that the trial would expire and could only be continued by making an in-app payment.
Yes, you have to worry about Google's policies, but treating your users well should be just as important, and will certainly affect the perception of your app.
Yes i think there is but it needs evualated/approved by Google before you can use it