Does the android market (or Google Play as it's now) offer a way for an app to check if it's updatable?
It seems to take very long for people to notice (or care) to update their apps. I'd like to show some "Update available" notify inside my app.
I could just have some file on a webserver stating the latest version. But this has the obvious chance of pissing people of if they click the "update available" button and are then taken to market which doesn't yet have the update.
So is there some nice API or other brilliant ideas?
Actually, Android Market takes a very good care of updating your application. Users are notified as soon as your update is available, and if they decide to ignore the notification, it's their decision.
If you are looking for alternative methods of updating your application, I'd suggest to check this thread.
No, Google Play store is a closed system and it does not expose an API to check version number since it takes care of updating installed apps whenever updates are available. However can be done by having a web service which keeps us updated on current version of android app on google play store and then compare the installed app version with the version we got from web service. Please have a look at https://code.google.com/archive/p/android-query/wikis/Service.wiki
Related
I can't find out where should I set the update type of "In App Update" feature in google play console.
Otherwise tell me how to use AppUpdateType.IMMEDIATE and AppUpdateType.FLEXIBLE?
Edit:
The Play Core API now supports checking for the priority of updates. See https://developer.android.com/guide/playcore/in-app-updates#check-priority
I think you are misunderstanding the use of this feature. For each newer version available, you can update it in the app both ways.
"Flexible" means that the update will happen in the background and the user can continue using the app while the download happens and you get to let the user choose when to install it.
"Immediate" means that the update happens in the foreground, blocking the user to use the app while the download and install happens (to be used for critical updates).
You can learn more about this in this recent video of a talk at the Android Dev Summit 2019: https://youtu.be/_o_q6hatcIs
I have an Android app published on Google Play. The issue is that only 5% of its users have updated it to the latest version. I'm guessing they are either not using the app and/or have turned auto updates off.
Is there a way to communicate to them using, let's say, notifications that a new version is out and they need to update the app?
I have implemented the In-app-update API into the newest version but the thing is that the users will first have to update to this version, before they get in-app pop ups about app update.
Any help would be a great help!
Thanks
Unfortunately I think you're out of luck. Unless another avenue was implemented in the older version of the app to allow for some sort of notification, there is no way to contact users who have not updated. The best you can hope for is that the users notice they have a pending update in the Play Store, and decide to update.
The only things that I can think of (based upon the assumption that old app has no code to deal with a newer version):
If oldApp supports Push notifications, you may have a chance firing one to let your users know (not super reliable for they may have them disabled)
You can try pulling the app from the Google Store (so they can no longer download it), this will cause your users to get the new one if/when they reinstall or try to find it again.
If there's a backend service your App talks to, and you can tell which version of the client is calling you (I'd hope this is something you did... as it's pretty basic), then you could start returning 500 errors and let your users "see the app no longer works" and deal with the support tickets and reviews and what not... but at least you can tell them: "download the latest version, I no longer support that".
I cannot think of anything else that you can remotely do.
Introduction
I've deployed the first version of my app to the Play Store and now I'm going to change the version code and publish the next version. So, in general case, the Google Play will notify users about the update. But I want my app itself to check for the updates and take user to the Play Store.
Studies till now
I have read about the workaround , here , where the app checks for the latest version with your server but I don't want that.
Requirement
I just want my app itself to directly compare its version with version available on the Play Store, and if it is different, then prompt user to update the app. On confirmation, it will take the user to the Play Store.
Is there any way to achieve this?
Is there any way to achieve this?
Probably, but I would not try to implement this if I were you and here is why.
Users configure update settings themselves through google play app settings.
If they want app updates right way they can say so. If they want to confirm first they can say so. If they don't want to be notified of updates at all, they can say so.
In most cases users are already notified of an update of your app through google play notifications. There is no need to add a 2nd notification. Even worse - users that don't want to be notified of updates will be annoyed when you notify them yourself. You want to avoid that.
You will need a service call to
https://androidquery.appspot.com/api/market?app=YourPackageNameOnPlaystore
for example:
https://androidquery.appspot.com/api/market?app=com.google.android.youtube
the respnse which will be returned by playstore will contain version information which is present on playstore.
compare it with local app version and take further steps
Hope this helps!
Good luck!
Short answer: No. There is no such official API yet. But you can go for an unofficial one.
But still as you have mentioned you can go for your own API implementation and prompt the user to update the app. But take into consideration that users have their own preferences about updating the app and they may find such prompts annoying. #Tim Castelijns's answer explains it in detail.
In short, I would like my app to be updated as soon as I release a new APK to the store.
I could not find any information about when the auto update actually occurs, and it seems it varies greatly - at one time it happened after a couple of hours and another time no updates for 12 hours. It seems that it happens on device reboot, but are there any other scenarios? Can I trigger it myself somehow (programmatically)?
My real scenario is a bit more complex, but the end result is the same:
I have a pre-installed app on the device which is also on the play store
As soon as the user adds an account my app shows in the play store app with an available update (same package, same signature, everything is legit)
I would like that update to happen as fast as possible
Any way to make that happen?
No, you can't force Google Play to automatically update the app as soon as possible, but you can use the Google Play Core library to force the user to update the app when they turn it on. More information here: https://developer.android.com/guide/playcore/in-app-updates
This will make the user see a message telling them they need to update their app to a newer version.
I have developed an android app which keeps runing continously for days. Now i normally keep making updates of this app and i want that all the phones running my app should somehow be able to auto update my app installed in them.I have not yet released my app in the market.In my app i have already developed push notification feature if that helps ? Any ideas ?
you could use a server and get the app to check for new updates and download accordingly.
Not sure if this is what you're looking for.
If the app is on the Android Market (now Google Play Market) then there is no way to force the user to update. Like DCSoft said, you could have your app check some server to see if an update is available. At that point you could either bug the user until they update, or you can prevent the app from functioning until it is up to date, but that's about it.
You can use https://github.com/commonsguy/cwac-updater
It's really easy and fits your need.
I used it many times.
You can use services in android to check if there is any update in the service, if so trigger the service, to update the stuffs, else destroy it.[User might not come to know about this]
Is this what you wanted?!
Vishnu, assuming you don't want to use the Google Play auto-update feature, you will need an Updater. In two of the companies I worked for, we had a similar problem with both Windows Mobile 6.x and Android apps - no Google Play allowed for security reasons - and I used this solution in both cases successfully:
The main app check if it's updated, against a Web Service. It receives the current version & the URL from where to download the new version, if necessary. The main app then starts the Updater app, passing the URL, and quit.
The Updater download the new program, via HTTP, showing to the user the % downloaded. The user can cancel the download anytime, in a controlled way, and the Updater can registry this cancellation.
Since the new app is downloaded, the Updater run the new app, and quit.