im very new to the google play and mobile app world.
I would like to know the process of updating my app on the google play store as im not sure how. It is Android app.
I am using xamarin for the app. I have increased the version name to by .1 and if I do this, do I have to also increase the version number to 2 ? because it cannot take decimal points.
I have a simple understanding of It so im not sure if I have to create a new apk or update the existing one, and if so, how ?
and then on google play, do I just go and select the new apk, or updated apk ?
Thanks in advance
The version number (or version code) it's an integer value used to determine whether one version is more recent than another. This is not shown to the end users. Every new version you make should have a higher number than the previous. You can simply increase the number by one each time a new version is released.
The version name is a string, and it's only meant to be shown to users. It can be whatever you want, like "1.0" or "Beta 1.2.3".
To update an app you just upload a new apk to Google Play, and the system uses its version number to find out what's the newest apk ank make it visible by default.
There is a very good, detailed, step-by-step process at http://developer.xamarin.com/guides/android/deployment,_testing,_and_metrics/publishing_an_application/ (which also explains the difference between version # and version name, among other things). Definitely worth a read!
Related
I have apk on Alpha testing stage.
I'm new, and when i learned to use Google Play Console, i published my app into alpha testing, rising version code(i thought it's ok and i can remove all versions easly).
Now i have apk with versionCode = 12.
When i want to download new alpha version, i need to raise my versionCode(or Googele Play will not pass it). And, if i understand it clear, when i want to publish my final version, it will be with raised versionCode too. But i want to releaze my apk with version code = 1.
So i must to remove old versions somehow. How can i do this?
Maybe i wrong and there is a better way to do smth, what can i do in my situation.
Google doesn't allow the same package name to be released with a lower version code, because it would managing versions harder. Just imagine someone having version code 12 and then suddenly going to version code 1 then 5 then 3. It makes it complicated and google doesn't know if you are trying to upload an old version or a new version.
So sadly the only way to release an app with version code 1 is to change the package name and create a new release. Your version code shouldn't matter though. Your users generally don't see it. So I'd recommend just going to the next version code. What the users do see is the version name. The version name doesn't have these restrictions so you can set your version name to something like version 1 for example
I am working alone using Android Studio to make an android application, and I am completely new to the idea of versionName, and while I understand the principle of it, I do not know how it is used in developing.
My questions are:
1: While i'm developing my app does it make sense to increment my versionName?
2: If I change the versionName and make some changes to my project will Android Studio automatically save the old project's information under the old versionName, so that I can revert back to that if I don't like my changes?
3: When I have released an app, in for example Google Play, and I update the app with a new versionName do I need to save the old app version myself? If so, what is the best practice for saving older versions of your apps?
I normally increment the version number before I do a new release to publish. I usually use the format of x.x.x (major.minor.bug fix). For example, if your version is 1.0.0 and you do a bug a big it, it becomes 1.0.1. If you add a new feature but the app isn't drastrically different, it becomes 1.1.0 or if it its a really big upgrade with lots of new features, fixes, enhancements etc, then upgrade the major version so it becomes 2.0.0.
The version name is only in reference to what is displayed to the user in the Play Store when you publish your app.
If you want to have some sort of version control for easily reverting back changes and/or to see this history, you need some sort of version control system, such as SVN (Subersion) or Git (not necessarily GitHub).
You didn't specifiy whether you just want to keep the previous release of the APK (the APK is the file that is given to the play store and is the installer for your app) or the source code. If its source code, then using a version control system is your best bet, you'll be able to go back to specific points in time (as long as you keep committing your changes on a regular basis), and if you tag your code then you'll be able to go to a specific release. The idea of tagging is, you take a snapshot of your development code (the trunk or head its referred to as) and tag it (snapshot it) as the version you are releasing to the play store.
If you want to just keep the APK, then I usually just copy the APK some locally or on Google Drive or something when I create a new release build to give to the play store. Although I can't fully remember but I think the play store now lets you download previous APKs that were uploaded.
I'll try to answer the questions you asked which have not been answered yet.
But before, a brief explanation. Your application has a version in order to differentiate it and understand which features are implemented in the application. When you publish your application, a version is displayed, so that when you make changes, you can state which changes occurred since the last version.
When developing your application, you can initially create a version, I.E. 0.0.1 or 1.0.0. You don't have to change it with every little change you make within the application before actually publishing it.
I don't think AS will save older versions of your code.
When you publish an application to the Play store, you must provide an APK, which has a version. The next time you want to publish your application, because you made several changes, the newer APK will have a different version. I think your dashboard in the Play store will have all your older APKs.
You can read about Semantic Versioning.
Currently I have a hybrid app in the play store and recently I have developed a native app for that, by improving and adding more functions.
So I would like to roll out that as next update
I have following issues in mind:
Do I have to sign this using the new app with same key-store file?
Do I have to use same package name?
Will changing version number be enough?
After little search I found out the procedure to release an app by
Google but it doesn't address my doubts so can someone explain the procedure to how to release the app and clear my doubts.
Just change the version number to +1 and use same package google play store will take this apk .but you have to declare target version and compiled version same or updated.
If you have same key and package name is same play store will take your Apk.
update your version number and put target and build version same or latest.
Please find my answers below:
do i have to sign this using the new app with same key-store file ?
Yes, if you want to publish update of existing app, won't allow you to publish if different key-store used
do i have to use same package name ?
Yes, if you want to publish update of existing app, will be considered new app otherwise
will changing version number enough ?
Yes but version number should be greater than the version number of existing app
I'm trying to update my app to the Google Play Store. I have the current version number of the app set to 2000000000 and would like to update it to 2000000001. Please don't ask my why there are such version numbers chosen.
I got this error message when I try to push the new version: "Upload failed
The version code of your APK is high and you risk not being able to update your APK.". The one thing I don't understand is that according to official google documentations the max version number is MAXINT, 2147483647, so I still have roughly 150 000 000 versions left. The other thing is, I managed to update other app with the same version numbering convention, the app is on the same dev account and I have no such error at all.
I checked all the numbers couple of times to be sure I'm not doing some stupid typo. I also already contacted Google support but maybe someone here have some kind of solution?
Google support responded to my requests. They changed the maximum available version code to 2000000000 and didn't update the documentation at the time I was posting this question (right now it is still MAXINT: 2147483647). Quite an edge case here but maybe someone will find this useful.
Looks like there was an update 08/11/2016 (UTC) in the docs. Not the old MAX_INT value or the 2000000000.
Warning: The greatest value Google Play allows for versionCode is 2100000000.
My Unity app had a high version code (not sure where from), I added version 3 and version code 3 in the Unity app, and that shut Google Play :) There is a crafty version for build.gradle though Unity 3D: What is the Android Bundle Version and Version Code and how do they relate?
I published my first app in Google Play today, woot! Once I saw my app listed in Google Play, I realized I needed to make a change and post an update.
I made my code changes and incremented versionCode and versionName in the manifest file. I then built my apk, signed with the same key as the original apk submitted to Google Play.
I uploaded a new apk, deactivated the original apk, then activated the new one and clicked Save.
I waited a couple of hours, looked in Google Play and could see that yes, the new value I put in versionName had updated.
On my Android Phone, I had originally installed the first version, but when I go to Google Play on that phone, I see the new version of my app, but the only options are "Open" and "Uninstall".
What do I need to do to my app in the Dev Console, or wherever, so the Update option appears when me or any other user goes to my app in Google Play?
Doing some research in Android Developer, I read this:
android:versionCode
An internal version number. This number is used only to determine whether one version is more recent than another, with higher numbers indicating more recent versions. This is not the version number shown to users; that number is set by the versionName attribute.
The value must be set as an integer, such as "100". You can define it however you want, as long as each successive version has a higher number. For example, it could be a build number. Or you could translate a version number in "x.y" format to an integer by encoding the "x" and "y" separately in the lower and upper 16 bits. Or you could simply increase the number by one each time a new version is released.
http://developer.android.com/guide/topics/manifest/manifest-element.html
Then I found this:
Google Play can manage updates to preloaded applications, provided the following conditions are met:
Package Name with the same Version Code of pre-loaded app must to be uploaded to the Developer Console
http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=113476&topic=2365760&ctx=topic
So I'm confused, do I increment the Version Code or not. I'm pretty sure I should increment it, but then again the Update option is not showing up.
Congratulations on your first app! It's a very exciting moment!
Yes, you increment your Version Code when you make an update to your app.
When you were testing your updated version, did you install the apk file onto your device? You might have updated it unknowingly. Google play will therefore detect that you have matching version codes with the app on your device and the app you uploaded and will not offer to update it.
You must always increment the version code when updating an app on Google Play. Your update will not be accepted unless you do.
As for your update not showing up, Google Play takes time to refresh it's servers. My updates have sometimes taken more than 24 hours to be pushed to the device, while new installers get the latest version withing 2 hours usually.