I would like to add a feature on my existing Android app, that allows old users to not pay (In-App Billing) for a new functionality that i am adding to the Application upgrade,
What i intend to do is:
Check if user has ever downloaded the app, if user has, allow user to use the new feature for free:
If this is a first time download, then user may have to pay(In-App Billing) for the new feature.
I haven't, so far, seen anywhere where someone can query Google play for this.
I found this as related to the idea
can an android app in store (Google play or other) be free for existing users who have it preloaded and paid for others? . But it doesn't really specify if i can query installer information from Google Play.
Basically is it possible to query Google Play and see if a user has ever installed my application... Yes, No, Maybe...
Related
Google Play has something called Private Apps: https://support.google.com/googleplay/work/answer/6145139?hl=en
However, to my understanding this means that only members of my organization can install the app. It doesn't say what "organization" mean but I assume it's members of a Google Workspace or a specific email domain.
I want to achieve something similar to Apples "Unlisted apps": https://developer.apple.com/support/unlisted-app-distribution
This means the app is present on the Appstore, but it's not listed or searchable. Only if you have the link to the app you can download it, and the user will receive automatic updates.
Is there something similar on Google Play? I want to distribute and update the app via Google Play, but only to users that I share the url with.
You can publish the app on the Google Play store via the Play Console and while selecting where to launch (publish) the app, add the app/app bundle only to the closed testing option. There you can add specific email ids and only those will be able to see the app, get updates, etc. no one else.
we use internal testing on playstore to test the app internally before we move to closed and open beta. More details can be access in the below link
https://support.google.com/googleplay/android-developer/answer/9845334?hl=en
I have an unpublished app on Google Play which I want to update for my existing users, but not let new users download it.
The Google Play documentation seems to be saying that this can be done by simply uploading an updated apk (and not re-publishing the app):
Unpublished Apps
Existing app users will still be able to receive app updates, even if you unpublish your app. If you don't want new users to find and download your app but still want to provide updates to your existing users, set your app to Unpublished in the Developer Console.
https://support.google.com/googleplay/android-developer/answer/113476?hl=en
But it seems unintuitive that an "unpublished" application would work that way. If the documentation is correct, how does Google Play tell the difference between an 'existing' user and a 'new' user?
Just a follow up: pushing an update to the unpublished app does make the update available to existing users only, but the app does not update automatically for these users. They must browse to the app page, where the app will have an "Update" button which can be triggered manually.
(This is just speculation, I'm not affiliated with Google in any way or anything)
The existing user probably has the app associated with the Google account they use to log in to the Play store.
If you look at your own profile in the store, there's a list of all the apps you've ever installed. I'm guessing the update would be available only for people who have your app in their lists, and the app will still be invisible for new users.
Whenever a user that has the app installed wants to update it, he requests an update of the app, it's different from re-installing the app as data from the app (a save from a game, or some saved preferences etc) are kept untouched, google play can easily detect that since it can detect what apps you have installed.
I want to be able to get the state of the user purchases but on the current app they are in from when it was paid to free.
For example App SuperCars was paid app but the latest update makes it free with in-app purchases. I want previous users who paid for the app to have access to paid content but new users to have no access in which they would need to pay.
Can anyone give me an example of how I would do this? How do I get the user paid sate??
After looking around and contacting certain people I've found out that it's not supported by Google, I'm disappointed at the developing Apps for Google Play, lots of features still missing.
Think about it, essentially you have launched a new product. Its not the same product, its a modified more useful product. Infact you should release this as a different product, different package, and check if your other product is also installed. If yes, provide the in app features free. Let both products coexist.
One more way is to update the older product (with a bug fix) that broadcasts its "paid" status. Then when you install the new app (free with inapp purchases) you can know that they have already paid for the app.
But if they have uninstalled the older app, then they have to install the older app to use it free.
So essentially you customers have 2 choices
Install the older product, pay for it. And install and use the 2nd product free.
Install the newer product and use in-app purchases.
DONT look for a way for google play to give you a status of a user's paid progress of a previous version of the app. Sorry, this looks like a crazy api to implement (even for google :)).
I have a paid app in the Play Store (Profile Widget, in case anyone is wondering ;)) and I want to allow some users (friends, or people who do not have a credit card) to download it for free.
Of course I could just send them the APK, but they wouldn't get the updates automatically, and with every update to the app I would have to send them all the APK file again. And also, by using this method, anyone that had access to the APK file would be able to install the app for free.
I saw that by using the Android Licensing Library you could make some users bypass the License Check, but I want the app to show as "Purchased" for them in the Play Store, and I don't think this would do it.
I searched Stack Overflow but none of the solutions I found (like creating a separate APK and checking for its existence from the "real" app) handled the auto-update part.
Has anyone found a good solution for this?
Thanks in advance!
You can now generate and distribute promo codes to current and new users on Google Play to drive engagement. Under the Promotions tab in the Developer Console, you can set up promo codes for your apps, games, and in-app products to distribute in your own marketing campaigns (up to 500 codes per app, per quarter). Consider using promo codes to reward loyal users and attract new customers.
Reference:
1) http://android-developers.blogspot.in/2016/01/create-promo-codes-for-your-apps-and-in.html
2) https://support.google.com/googleplay/android-developer/answer/6321495
The best solution is to have them buy the app, then refund their purchase. It would still show up as paid. Alternatively, you could give them the app, and license it via the LVL, and configure their email addresses as test accounts listing as purchased., but then they won't get updates.
I have the same problem, I've checked and from what I can see there is no analog to the Apple system (Give out a one-use code to download the app).
If you just give them the APK you don't get Crash/ANRs from them and they won't automatically get updates.
It is something that Google really do need to fix, sorry there isn't a better option.
(I have the same problem for my own device (you can't buy your own app), I had a crash that was rare in the app on my own phone, but I couldn't reproduce it at a computer and the logs had well cycled past the error by the time I did, Being able to get the crash report through the developer console would have saved me a lot of mucking around)
this is an updated and no credit card method.
You can create a free version of the same app in the play store,
but publish it in alpha release.
Then, you can create a google+ provate group of alpha testers and set it as the tester group for the alpha version.
Now add the 'free licensed' users to the alpha testing group and they have your free app.
To push updates, you will have to upload updates also to the 'free alpha', that's not gold, but I think is pretty close to the best you can get at the moment
This method has an issue. As long as licensing is per-App, you will have a different license key, and it may always return TRUE, so if the users share the apks, they may be able to let other people use the app, not totally sure about this occurrence, but you are warned, better if you are sharing the free app to trusted users.
You can set up a sale at price zero for the paid app and let your contacts know about it. Google allows up to 8 days of the sale at a time, but you can also set it up for a single day. This way, you may still get a few downloads from unintended recipients, but the 'problem' will be far more controlled than if you were to mail out APKs. Other problems like updates are also solved automatically.
You can upload in third party app stores like Amazon App Store, Aptoide , www.proapk.in to allow users to download paid Android apps for free.
For downloading the app as a developer: Google Playstore's official word on this, is that you must create a 2nd google account to download the app you are listed as developer for. That way the stats for downloads and terms are not breached. Spoke about same issue today (though its a while after the question was posted, others should see this with similar issues)
For giving it away free: Can't you just change the app to free at a given time then notify those people to hit it during a certain window?
I wrote a small Android app. It is published on Google Play as two distinct versions
a free demo version with limited features
and the paid version without limitations
Now I have been approached by the distributor of a tablet who wants to pre-install my app on his device. Obviously, I want the owners of his product to benefit from later updates for my app.
Is there a way to pre-install the paid app on the device and still allow free updates to the app?
Thanks!
The pre-installed app has to be free. This comes verbatim from the Google Play Support site:
Unpublished Apps
Existing app users will still be able to receive app updates, even if
you unpublish your app. If you don't want new users to find and
download your app but still want to provide updates to your existing
users, set your app to Unpublished in the Developer Console.
Updating system apps
The user’s system apps (including any pre-loaded apps) are shown in
the My Apps section of the user's device in the Google Play store as
soon as an application with the same package name is uploaded to the
Google Play Developer Console, even if the application is unpublished.
Google Play can manage updates to preloaded applications, provided the
following conditions are met:
The preloaded app needs to be in the system partition
The preloaded app needs to be free
The preloaded app needs to be signed with the same signature as the app published in Google Play
The Package Name of the preloaded and updated app needs to be the same
The Version Code of the updated app needs to be greater than that of the preloaded app
This should happen automatically as long as you use the same signing key and package name.
You can test this and verify by doing the following:
Install the .apk file that you will be providing to the distributor
(lets call this 2.0).
Now upload 2.1 to Google Play (same signing key and package name)
When the user's automatic update checking runs, or when the user opens the package in Google Play, the update will be offered and work great.
The only case I have seen where this doesn't work is with cross-licensing. For example, if I license an App through the Amazon appstore, I will see updates in Google Play, but attempting to update will give me a "not paid" or "buy now" error.
In a common LVL implementation, if a user is not licensed, app should hang at start page and prompt user a dialog pointing them to purchase URL (can be opened via either Google Play client app or web browser).
For a paid app (LVL integrated and published via Google Play), if end user want to use it and keep receiving updates, he must use his Google account purchase it via either Google Play client app or Google Play web version.
The normal procedure to get paid app via Google Play client app is:
Purchase
Download
Install
Is there a way to pre-install the paid app on the device and still allow free updates to the app?
You can send them app-pro.apk file and let them install it without purchasing it first, however, when the app is first opened and in case that license check (requires Google Play client app installed on end user's device) is failed, the purchase dialog should popped up and ask them purchase it. Once the user has purchased it and open the app again and pass license check, he can start using it normally (with ability to update).
The answer is Yes, you can let user pre-install paid app, but in order to use it normally and keep receiving updates, the user must purchase it anyway.
I'm looking for solution for the same problem, and it appears to be impossible.
But I think I have a workaround:
Make your app free, with limited functionality, and offer advanced features ("pro" version) with in-app purchase.
For the in-app purchase version you can have a second licensing method. I'm not sure if it's allowed by Google Play terms, but technically this way you can support these two kind of users, and still have them update automatically through Google Play.