Android app update mechanism - android

I just want to understand how android apps update notification works. What are requirements for update notification to work (Google play store ,google services ??). Any useful link will be helpful.
I feel android has information of what are apps purchased by user, so when user connect to internet some service should look for updates available. If this assumption is correct then I want to know information about user owned apps is passed from device or kept server side ?? I wanted to know updates will work for a side loaded app or not.

This is handled by the Play Store client. App history is associated with your Google account, that is why you can (automatically) install the same apps when you get a new device. It is kept on the server and cached on the device. Android keeps track of who installed a particular package (Play Store, side-load, etc.), but generally you can update an app as long as the updated is signed with the same certificate. Whether or not you will get notifications about side-loaded apps is entirely app to the Play Store app. Last I checked, it did show notifications, but you cannot rely on this. If you are dealing with side-loaded app, you'd better have your own update check mechanism.

Related

how to Google Play publish app in specific time

I want to publish my app game version 2.0 in google play. And there is already a version 1.0 here. My game is a online game, so i have a game server myself of version 1.0 the app connected to.
My question is. When a publish my app version 2.0, it cost about a day until it is available in google play. Can't I specified a time my app v2.0 available in google play so i can update my game server at the same time, because my client and server version must be same.
Any one has any solution?
One way is to serve the update yourself via your own server. If you have this setup on your existing app in the play store, awesome. Otherwise you have to have to push an update to the old app ASAP (through the play store) that is compatible with your current game server, that will contain this check on your apk server.
You will have to check the server version, and if it's been updated, fetch the updated app. Also add some code that checks if the apk server is providing a binary or redirecting you to another url. If it's the latter, you can have your app open a browser to open that link (as to why you want to do this, read on.)
Let it settle down a bit (2 days should be enough), then update both your game server and play store app at the same time.
Now you can modify the apk server so that it redirects everyone to the play store link of your app.
Users that were updated through the apk server may be prompted with a new version in the play store again, though the update doesn't really add anything (AFAIK there's no way to query if an update is available in the play store through the play store itself). Also I don't know how Play Store checks for an update -- if it's just the version code and version name from the manifest, they may not be served with the update anymore (which is good).
Users that were not updated through the apk server but were able to get the patch for the server checking mechanism will now run the app and find that they'll be redirected to the playstore, of which they will now download the update.
The only limitation with this solution is that users that were not able to get the server check mechanism patch may have to figure this out for themselves that they need to update via play store. You can help them by sending a notification email regarding the update.
There is no way to do this short of requesting it of Google themselves. A release/update isn't instantaneous worldwide either; the speed will differ by region. I assume this is as there are multiple data centres delivering the data.
If you have the resources, you could run both versions concurrently for 24-48 hrs while the update gets validated by Google and propagates.
Otherwise I think you will have to be offline to some users for a period. You should announce the downtime through whatever form of communication you have with your users in advance.
Yes, you can pick a specific time to publish your app now.
Answered here
For more info

Google Play push notification for app update available not being sent reliably. Am I missing something?

Me and my team recently published an app on Google Play. My knowledge tells me that all I need to do is to change the versionCode in the AndroidManifest.xml file everytime I upload the new APK and from there, Google Play does the job of notifying the users about an available update. I am in touch with many real world users who say they never got a notification about app update despite the several updates we have published to the original app. I know that there are certain device level playstore settings such as "Update app only on wi-fi" etc. and I've verified all such combinations of scenarios. I still believe that all the users are not notified about the new version available. So my questions are
1) Am I missing anything in the first place?
2) What are my options to make sure the user gets notified about the available update?
You can not reliably tell when your user will get notified. Update notifications are dependant on battery status, network availability, user activity and compatibility.

Understanding Android Application Licensing

I am trying to understand the Android Application Licensing. I read most of the documentation on the android website about this subject, but I'm still confused.
Here is my dilema:
I create an Android app and I'm deciding whether I want to release it as a paid app or in-app billing. Now, I'm currently looking into releasing the app as paid. My understanding is that I can submit the app to android google play ( or market) as paid and specify the price of the app and that's it.
However, I see that google provides the Application Licensing service which seems to allow Google to control a list of users who purchase the app and verify that the user has indeed paid for the app. Otherwise prevent users who have illegally installed the paid app on their devices if they didn't purchased it. Please correct me if I'm wrong so far.
Now, it seems that when the application is first executed, it will use Google's application licensing to check whether the user is authenticated. What will happen if the user does not have internet connectivity? Will the app still be able to launch or will the app require internet connectivity in order to run every time?
Thank you
Andy
Of course checking the license need internet connectivity.Android is doing this using the google play services client in your device.
But the decision making on allowing user access is given to us.We can implement the Policy interface, There we get two methods, processServerResponse() and allowAccess().
processServerResponse(), lets us to preprocess the response we got from licensing server like storing the licensing information locally etc.
allowAccess() decides whether to grant the user access to the application.In this method we can decide whether to allow the user access in case of no internet connectivity.(some policy like, user can gain access 5 times without internet connection etc.)

Google Play - update an unpublished app for existing users but not new users?

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.

How to receive an app update from Play Store

I have an app that i used to host on a private server and send the link to the new version by using GCM.
I now host the app on the Play Store. When i have an updated version, i increment the version code and publish it to production.
Can anyone tell me why the phones are not receiving a notification of the update?
I have checked the notification checkbox in the app itself and i have checked auto-update from within the play store app settings.
I've had a look around SO and certain individuals seem to think that in order to receive a notification, the app must implement GCM? Others think that the Play Store app regularly checks the version number of the installed app against the new one hosted on the Play Store, then notifies.
Can anyone explain what the users ought to see from an updated app on play store and what i have to do for them to receive a notification.
thanks in advance,
Matt
Dear unchecked auto update from your Google play for the app.
because if that is checked when your app will be updated you will not be asked for permission. it will automatically install update.
have patience, some times it take more time to send update to users.
There is no need of gsm into this process. uploading new app is enough.
They should receive a notification, if the following are true:
They installed the app through the Play Store. If it was downloaded from your web server, they'll get no updates from the Play Store.
They have automatic updates enabled.
Even if the above conditions are true, it may take a day or two for the update notification to be displayed.

Categories

Resources