Loose users if upgrading app to newer Android version? - android

I have an app on Google Play targeting minimum Android 2.2. Now I want to upgrade the app to at least Android 4.0. I know I have at least one user who is using Android 2.2. What will happen to this user, will he/she still be able to use the app but without the new features or will I loose this user/customer?

He/she will not receive the update, but will still be able to use the app as long as it is backwards compatible

Check this page from Android on the topic: https://developer.android.com/guide/topics/manifest/uses-sdk-element.html
Teeh user will still be able to use the app (if it is backwards compatible with your backend), but the user will not recieve any updates.

Related

how to make the last version of my app is the only working version in android

I have uploaded my app on google play store. I need when I do an update in my app the old versions of the app doesn't work on user devices until they updated the app. For example when I make an update when the users that have old versions of the app opens it a dialog opens to them asking them to update the app to be able to use it , How can I do that?
You can't go and change old versions retrospectively - the code is already out there on devices.
If you want this feature in new versions of your app however, I would recommend using something like Firebase Remote Config. That will let you control the minimum version of your app on a server, so you could give the users a week to update, then change the config on the server, and the app will know to ask the user to update.

How do I continue using AdMob and support SDK 4+?

I received an email informing me that I must update to Google Mobile Ads SDK 7. However this requires min-sdk to go up to 9. I previously had 4. Is there a way I can upgrade and still people with older android versions be supported. As it is now, everyone who uses an older version of android (or does not update) will be able to use my app ad-free.
You don't. And you don't worry about it.
API versions 9 and below are less than 0.1% of the market.
Give you app away for free to that mall portion as good will and spend your time increasing the value of your app for the rest of the market.

Programmatically check for the minimum required version of an App for Android and upgrade it

I have a use case in which we wish to selectively disable an Android and an until the user upgrades to a minimum required version. This question is to get design inputs and best practices for similar cases.
Typically the flow will be as follows:-
Upon starting the app, the main activity thread will check the presence of the current installed version. (I am looking for pointers to a Google API/TPL to achieve this programmatically).
Then the app checks for the minimum required version. (This can be done by maintaining the minimum required version on a rest service). However is it possible to maintain the minimum required version on Play Store?
Force the user to upgrade if current version < min required version. (redirecting user to App store and not letting them back into the app till they upgrade - I am also looking for code pointers for this case)
Note that this is different from the push notifications from the app store for upgrades. Unlike push notifications, this logic will allow my app to stay at some min version across my user base.
You can check current version of your app by using the following code if your using Android Studio.
int versionCode = BuildConfig.VERSION_CODE;
String versionName = BuildConfig.VERSION_NAME;
I don't think maintaining installed version on play store is possible so using a rest api for this will be the option.
To force the user to update app, check current version with version from api, and if conditions are not met show them an alert dialog with two options:- either Exit or Update.
To launch update intent you can do something like this
Intent updateIntent= new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + your app package name));
UPDATE:
You can also use third party libraries to check for updates. One that I have used is gpversionchecker
Upon starting the app, the main activity thread will check the
presence of the current installed version. (I am looking for pointers
to a Google API/TPL to achieve this programmatically).
YES, we can check the currently installed version of the application.
int versionCode = BuildConfig.VERSION_CODE;
String versionName = BuildConfig.VERSION_NAME;
Then the app checks for the minimum required version. (This can be
done by maintaining the minimum required version on a rest service).
However is it possible to maintain the minimum required version on
Play Store?
Maintaining the versioning with the REST services is a very good idea. Personally I would like to suggest maintaining the paths of REST services like this.
https://www.domainname.com/api/v1/
However, I didn't really understand your intention clearly. I guess you're talking about Android version here. So if you're thinking about the minimum API level of Android your application, then you don't have to be worried about it. Play store will take care of it.
For example, if you've uploaded an apk earlier which you want to upgrade. Play Store will keep both and user will lower Android version will get the old apk you've uploaded. You can remove the old version of your application from Google Play Developer Console too.
Update: You can not keep all versions of the app compatible upto a defined min level of Android version. You can keep different versions only if the minimum SDK level is changed for your application.
Force the user to upgrade if current version < min required version.
(redirecting user to App store and not letting them back into the app
till they upgrade - I am also looking for code pointers for this case)
If some user are using the previous version of your application, you can not force them to update if its not already coded inside the application. Though we can think of an work-around here. The REST API calls may stop serving the old application as you're updating the API version number (e.g. https://www.domainname.com/api/v2/). So you can show them some message as a response of your APIs if response message from server is shown somewhere.
Update: So if you want all users to download the application update as you want them to move to server API version V2, you might have to take the choice of stopping all services for V1 and when a service is called from the old version of your application, you might give it a response like I told earlier.
Hope that helps!

Android: implement auto-updates for my apps?

I would like auto-updates to be enabled for my application. After lots of searching, I can not find any information about how to implements this. My interpretation is that it is a feature of 2.2 and android marketplace, and will happen automatically. However, I have a few questions about this that I cannot find answers to on Google:
How does this work? Do I just publish a new version to the Google marketplace and then users are prompted to update their application? If so, is there a way to control if I want to allow the user to be able to update? (like, if I publish 1.1, I would like to allow an update. but not for 2.0).
Do I need to specify anything in my manifest file or anywhere else in my app?
If this is a 2.2 feature, will it work if my app is 2.1 compliant? (I assume it would not work for users running 2.1, but want to make sure being 2.1 compliant would not break it).
Thank you.
I could be wrong here but I believe auto update is a function that the user would control. The user has the option to allow your app to auto update from the android market place provided the permissions have not changed. I do not think you can force the user to auto update.
just publish a new version and users will be prompted to install. i think for preventing updates to v2 you will need to create a new app (or change the properties so google thinks its a new app
you will need to increment your android:versionCode="??" in the manifest
you will have to specify the minSdkversion and if you use a newer feature than is available in an older version your app 'supports', you will have to check the version they are running and disable the feature or code it someother way.
You can control auto updates by opening the "market" When the 'Market" home screen is open, click the "menu" button( lower far left on your device.) a settings menu will pop up and you can set the auto-update features there...

Best strategy for ensuring users are always using the latest version of your Android app?

I'm wondering what techniques Android developers are using to ensure that (almost) all users are using the latest version of their app? I'm getting close to releasing my first Android application and anticipate an iterative release schedule. I'd like to avoid the situation where we find ourselves having to support a dozen different versions in the wild.
Distribute your app via the Android Market. Users will be notified of updates. Depending on user preference, the app may even auto-update when a new version is released.
Try this Force user to have the latest version of an app

Categories

Resources