Does phonegap allow us to update the app we created if I want to add or change something later on?
For example, I created an app and installed on my Android cellphone. Now I want to change some content of this app. Is that possible to achieve that without installing the full .apk file again?
A similar question here: How to update app with phonegap
However,the answer "update them in your project then submit a new apk to Google Play" still makes me confused -- submitting a new apk to google then my installed app would know there is a new version? and would update??
It's impossible. You cannot update the app in user cellphone unless your app force user to update the app. IBM Worklight can do force update.
One way would be to put you html files on live server and change it from there. Suppose your files are in www.example.com site. Like www.example.com/main.html You can refer to this link from your phonegap app. And you can control it as you wish without forcing any installation.
But it comes with a price. Your app user have to be connected to internet for full time.
Related
my client already has an app in the play store.
he asked me to create an update for his application and it is already ready.
how to replace the old application with the new one let us know that I only have the package and the Keystore ?
can I do this without the user doing anything ?
as if sometimes I open an application and notice changes without installing a new update
If I understand your question correctly - You have an app live in the store, written in react-native, and you want to update the app with a new version, but you don't want the user to have to go to the play store and click the update button, you want to deliver an update to your app without going through the play store.
If that sounds correct then code push is the way to go, but if your current app does not have code push installed and setup, you won't be able to get THIS version to deliver that way, but future updates could.
The caveat to using code push is that you can't make any native changes to your app, you can only update your .js files and the assets that ship with the app. Any updates - such as new packages - that have native components will not be able to be pushed with code push and will require a full native app update through the store.
Code push has moved to app center. Check out the site here.
If I did not understand your question, please feel free to update your question to clarify what you are exactly trying to accomplish, and what you have tried that did not work.
My work currently released a mobile app (android and iOS). I know we publish say a new apk when there is a new android build. But do users have to download the entire application every time a new apk is available? Or do users just get the differences and download those instead of the entire application again? Trying to understand how updates actually work.
Thanks for any help!
I can't speak for iOS, but Google Play will attempt to push app differences on updates rather than the whole APK file. See this article for more info:
https://android-developers.googleblog.com/2016/12/saving-data-reducing-the-size-of-app-updates-by-65-percent.html
We have an Android app (.apk) published to a publicly accessible URL, any user who knows the URL can download and install the app.
The app is already installed on the relevant user phones and allowing sideload option from the settings is turned on.
How can I force the app, on start, to check for update and replace the existing app if found, then restart the app (to pick up the latest version)?
Is there a standard solution or a software package? Should I be thinking in a different way?
I am using Xamarin Forms, however, I am happy with Xamarin Android or any Java-based solution.
One thing you could do is to have a small plain text file in the same server where the APK is, that contains the version number of the APK available on the server. The runing app then just reads that text file and compares against its own version number.
If the version on the server is newer (has a higher version number), you simply download the new APK to a temp dir and install the APK programatically using the method outlined here: Android: install .apk programmatically
The way to go is HockeyApp. It´s a distribution system that does exactly what you are looking for. Besides, you get a useful crash logger and some statistics, etc. It´s free for 2 apps.
Once you install and configure their SDK in your Android app, an activity will popup telling the user a new update is available if there is any.
The user can install the new version with a button tap. Simple.
The setup process involves installing a nuget package and write a few lines of code in your main Activity class.
This is more of a feasibility question as I am new to mobile development.
Suppose there are already existing users using a version IOS and Android version of an application. However for some reasons, a total new application(re-wrote) is to be built to replace the existing one.
Is there any way we can update all the existing users with the new application without them having to re-download them?
Update:
I found an answer for android
Pushing an update to Google Play that will replace the existing app
But what about IOS?
Your biggest feasibility challenge on iOS is Apple. From the App Store Review Guidelines
2.7 Apps that download code in any way or form will be rejected
2.8 Apps that install or launch other executable code will be rejected
So that makes it pretty unfeasible. They take this pretty seriously too: you'll probably lose your dev account, and certainly that app, if they notice you at it. So I would very strongly recommend you not attempt an in-place update, simply upload a new release to the App Store and let the user update according to their automatic or manual update settings.
If it's absolutely necessary that the application be updated immediately for continued functionality, the way developers typically handle a forcible update is to check their version on launch against the current version somewhere and pop up a modal that tells the user to go to the store app and update.
I create iOS and Android apps as hybrid app.
My apps send HTTP request to server, and then get HTML,CSS,JS etc.
Users don't need to update my apps until I change native side project.
It means that sometimes my apps version don't changes even I provide new functions or fix bugs.
It's wired for user. I should display increment version number when my apps have changes.
I want to increment version number of my apps even users don't install my apps to update.
Is there any good way to achieve it?
I come up with one idea to directly change setting file like Android manifest file.
However, I don't know whether it's good and works....
It is not possible for iOS, you need to submit new version for version number to change for your app
Also not possible for android as well
I don't think it is possible.
AndroidManifest is XML file attached to your APK and could not be changed when it's installed - only by application update (I mean installing new APK with incremented version number).
In iOS situation is the same. Version code is attached in Info.plist file which, like AndroidManifest, is just file attached to your application archive and could not be changed.
I don't think you can dynamically change your version code - because this is what you are trying to do.
For Android that's simply possible, for iOS, because of the Sandbox and Apples protections, not. (If not jailbroken)
You could let the app have a settings/information section where it displays current version, and this version will be loaded from your server as well as the HTML, CSS and JS.