Reconfigure android application without overwritten - android

I 'm starting to build an Android app that can self-restructuring. It means this app can change its behavior after an "update". But it's not similar to common update because I don't want to publish to market and some reasons below. The idea is the app check version through server, if it's old, then download a file to proceed update.
This is not an overwritten installation, only some parts of the app is changed, not all.
The app have to keep working during updating.
The download and update process must be silent, there must be no notification, pop-up or asking permission (option)
Please tell me if it 's possible and give me advice, approach, keywords, ideas or somethings helpful. Do I have to intervene system, OS or anything?. I tend to make the phone as a sensor device

There is no direct way of achieving this.
You need to download whole new apk. You can't just download few part of it.
but what you can do is download app in background without user interaction.
Now to install this user has to allow installation as per security standards.
PS: If you just want to perform different action. You can download stuff n place in external/internal storage and through api call changes perform desire actions.
There are apps that doesn't use play store for updation eg. Dream11, famous cricket app.
fantasycricket.dream11.com/android-desktop.html?utm_Source

Related

Notification when there is an update

I have been looking for a while to send a message to a user when there is a new version of the app is released. When I upload a new version to the Appstore or GooglePlay a message should appear when the user opens the app, but does not have the latest version that will allow user to easily update the app.
Do you guys have any solution for this? It`s for IOS and android.
There are several ways to approach that problem.
Send remote notification for each user about new version being available. Problem with this solution is you have to get user's permission first, but it will be definitely the most convenient one to use.
In-App updates:
For Android: https://developer.android.com/guide/playcore/in-app-updates
For iOS: you will have to build similar logic on your own. You will need a server-side logic - just a file exposing latest version string. Then on iOS when user is launching the application, you can compare users version with that file - and if it's different, show a custom popup telling user there is a new version available and link to AppStore.
Problem here is that user has to launch the old version - which will not give you similar results as remote notifications, which will be shown without user opening the application.
I think the best solution would be to do both and cover all cases. Remote notifications will be definitely nicer way to do that for users that allows you to do so, rest of the users will be notified inside application itself. Just make sure to not notify user about update each time they open the application if they don't update it - best approach here will be to do it once per version maybe or even better make your version file to define it update is something really crucial and should trigger a popup.

Is it possible to update android app from private server while running?

I have to develop some specific software, which sometimes can't connect to the App store, but I will have to send some updates. this software can be restarted but it needs to check for updates itself and download it, so I am looking for ways to update like Facebook is doing for example. Change its own package and restart, but I could not find any helpful information or SDK to do so. What is the right way to do so? How can I achieve that.
edit: I have seen some solutions. One is having 2 apps (1 updater and 1 main app, it is ok but I am looking for a bit more flexible ways if possible). And SDK-s just send you to the download page, but I need my app to download and install it itself (This software will be used as a middlware controlling app for IPTV devices, so there is no security issues in terms of not notifying user about update, I'll handle it with popups)
There is an API in android for update apps. It is called In-app Updates.
Basically, it has two options:
Flexible: The user choose if he wants to update the app or not
A user experience that provides background download and installation with graceful state monitoring. This UX is appropriate when it’s acceptable for the user to use the app while downloading the update. For example, you want to urge users to try a new feature that’s not critical to the core functionality of your app.
Immediate: The app shows a screen where the user must be update the app
A full screen user experience that requires the user to update and restart the app in order to continue using the app. This UX is best for cases where an update is critical for continued use of the app. After a user accepts an immediate update, Google Play handles the update installation and app restart.
In your case, you can use the "Inmediate" option
References:
https://developer.android.com/guide/playcore/in-app-updates

release android app updates and not not push auto updates

This is a repeated question as i have not got answer . Hope someone will look at this and answer .
I have an android application which has number of downloads . I want to update the app with some major fixes and updates . Because of this update, end user may get failed authentication and need to reenter his credentials which I dont like. At the same time i want keep same package name to keep downloads and app reputation on playstore.
So how can i achive these
1.update android app on playstore which will not push automatic updates even if end user turn-on autoupdate in settings .
Previous app downloads and userfeedback should be there
So this way old users still continue using old version and any new users who download app from playstore will enjoy new app .
Thank you
Ok, you mentioned keeping a package name and stuff... Changing that should never be an option. The user could have ten of the same app, all with different features because your updates are all packaged separately. There isn't really a way to stop Google Play from auto updating apps, the users may just have to deal with reentering credentials. Since there isn't a way around this, you could simply apologize to the user. Example:
When the user logs in, save a boolean called something like, "wasLoggedIn". Then, on your login/startup page check if that is true. If it is, display a dialog such as, "Sorry for the inconvenience, you have been logged out due to an error." This will make the user a little more comfortable logging in again.

Best method of rolling out updates for a developed app not on the google play store

HelloNot sure if this is really the best place to ask but I was wondering if anyone has any good suggestions on rolling out updates for apps that have not been published on the google play store? I create apps to be used in house by other members of staff at my work place and there's either no need for the apps to be put on the play store or the apps that have been created are for private use only.Currently i'm having to either email new versions of the apps to members of staff who then have to delete the old versions from their phones or I have to get hold of their phones and install the newer version from eclipse everytime I create a new version Obviously this is not ideal so I was wondering if anyone has any suggestions on how I could easily roll out updates to the phones with the apps installed??
Basic idea of auto-update is putting your new software somewhere your application know and can download from. Obviously you will need some sort of versioning in your application. Application should check for updates periodically, and if the online version is newer than current version it should download and update preferably by asking to the user if he/she wants to update.
Commonsguy has a library for this. It is a suspended project but it should give you the basic idea and you can even write your own library after that. cwac-updater here you go.
Make an update module in your application, that periodically polls a server to check for updates. Keep in mind that you have to do this in a battery-efficient way so as not to drain the battery of the user.
Another option could be using GCM. Look it up. When you have an update, just send a message to all the devices to prompt the user to download the new version.

Hosting APK + Updates?

I have an app written in Adobe Air (actionscript3) then packaged as an APK for the moto xoom (android os, using flashdevlop).
We are looking to host both the install and update. There are no issues with selecting unknown sources. And installing from web works but i cant seem to find anyway to set it up to find updates thru my server or the correct way to push those updates. Thoughts or links, google has failed me?
UPDATE
I forgot to make clear i need it to work thru the built in update checking so it will auto update if the device is set to do this. By default either the app or device is checking for updates somewhere. I want to change where it checks for that update and what format/syntax its expecting.
The built-in update check is the Android Market app, pinging the Android Market server to check for updates. Since you're not distributing your app through Market, there's no way for you to take advantage of its update mechanism- You'll have to write your own (Amazon's market app, by way of example, does this).
Essentially you'll have to set up some sort of alert mechanism (check for updates on app startup, maybe), download the APK, and fire an intent to have the user explicitly state they want to install the app. Auto updating (downloading and installing the APK without the user doing anything at all) isn't possible outside of Android Market, for security reasons.
For more information on how to fire the "install" activity, check out this thread.
It sounds like a good case for cloud to device messaging....to notify the user of the update
is available...
http://code.google.com/android/c2dm/
I think they will still have to download/install it.....You can help them by making the download/install feature of the app it self.....
okey... i think you have a few web services right... create a update webservice that takes in the user version and sends it to you.. you can cross reference it and if the user needs to download a new version they get directed to a browser ... where you can poit to where you host the files... you can put in a menu item in the app to say allow the user to check for any upgrades... version number of the app can be got easily... check google or get back to me if you still are nunable to find any...

Categories

Resources