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
Related
I'm new in Android Things and was trying to do OTA updates. In Android things console whenever I pushed a new OTA, along with the new app version, it refreshed the image as well. However, I want my image to be the same as earlier and just app to get replaced over the air. Is it possible?.
I have been thinking to use play store to update my app in android things. Can it be done?
Thank you in Advance.
In Android Things, all apps on the system are bundled in an updated OTA image and updated in that way. There's no mechanism for updating individual applications like on Google Play.
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 port my android apps for making bb10 builds . Since now from bb10.2.1 update blackberry has introduced a new concept wherein apk's can be directly installed and can be installed in BB10 devices if the manage apps in settings menu of the phone is made ON. My question is that I wanna restrict my users from doing so and not installing the apk's into bb10 . And take download my app only from appworld.
Has anyone faced and has fixed this issue kindly tell me on how to solve the same.
Based on the Android behaviour, I don't think you can restrict users from doing so.
I haven't tried it on BlackBerry but from what you say, that option sounds analogue to the Unknown sources setting under Security settings on Android. If the user enables the installation of applications from unknown sources on their phone, there is now way to prevent the direct install of the apk (by adding something to your apk or any other way).
There is no way to restrict it to BlackBerry World only. If they get the APK, they can load it directly this way. There may be other ways around it though.
If, for example, your app is for sale and people are side loading a pirated copy, you could change your app to be free, and put some advanced functionality in your app behind an in-app purchase. That way they'll be forced to go through the storefront at some point to pay. This takes bigger changes to your app though, and the IAP implementation is likely different between BBW and GPlay.
You could also put in a version check: when your app launches, it checks a special file on your web server to see what the latest version of the app is. If they don't have the latest version, it doesn't let them use the app until they upgrade. This won't prevent side loading or piracy outright, but you can put out updates often enough to make side loading very annoying. When they are roadblocked and told to get the new version, you can link directly to the storefront to encourage them to get the latest version there.
Thirdly, and lastly, if you port your app to a BlackBerry 10 native, cascades, or WebWorks app, the app file is fully protected and can't be pirated or extracted from BlackBerry World (since the platform is secure). That will 100% protect you from piracy on BlackBerry 10.
I hope this helps!
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.
I've got a development partner who says that in order to fix bugs that cause an application on iOS & Android to crash on load that end users need to delete the original app and re-download the new updated version. Are they for real? Shouldn't it just be incorporated into a standard app update and work like any other update?
The answer depends on how your app was distributed. If you just sent out a link like http://www.mysite.com/mytestApp.apk, it's easiest to uninstall. If they're updating via the Google Play Store, you have to set your version number higher than the installed version. Users can then get the newer version more seamlessly. I haven't done an ad hoc distribution with iOS yet, but updates via the app store seem to work similarly to the Play store. Users get a notification and can then update if their device meets the required specs.
Usually an update should resolve these issues. However, I have seen rare instances where users running older apps will need to uninstall/reinstall to get the new version of the application working. Like I said, these are rare instances where some major configuration has to take place. It's not something most updates need to do.