Ionic Deploy Plugin
Update info save in the version.json at path server_address/autoupdate/channel_tag/version.json.
Structure of version.json exactly is the UpdateResponse of parseUpdate function.
The bunch of code to update is the zip file of www/* in ionic project. Upload to url of data of version.json response.
Finally, exit function added for use case where redirect method occur an error on ios with wkwebview.
cordova plugin add ows-ionic-plugin-deploy
`Ionic Cloud Deploy Plugin (legacy)
This is the plugin for Ionic Cloud Deploy, which is now superseded by Ionic Pro Deploy.
We strongly recommend migrating to the new version of Deploy which has resolved a number of issues and is in active development. Migration is straightforward, please refer to the Cloud -> Pro Migration Guide for a walkthrough.
For documentation on Legacy Deploy, see the legacy docs for more detailed information.
Reporting issues with this plugin
Please file a ticket with support for any issues with this plugin: http://ionicframework.com/support
We will not see github issues filed here and will not be able to respond to them in any timely manner.
----
Legacy plugin instructions
Installation
See our docs for installation steps.
Cordova Plugin API
$3
- this Cordova plugin defines a new global
IonicDeploy object- this object exposes the following methods
####
init (appId: String, serverUrl: String)- appId:
String
- serverUrl: StringExample:
`js
IonicDeploy.init('org.cordova.helloworld', 'https://helloworld.org/deploy')
`
####
check (appId, channelTag, onSuccess, onError)- appId:
String
- channelTag: String
- onSuccess: CheckHandler
- onError: ErrorHandlerContact the remote IonicDeploy service (as configured during
IonicDeploy.init(...)) and passes the result along to IonicDeploy.init(...).
#####
CheckHandler (result)- result:
String- if
result is the string "true", then a new update is available
#####
ErrorHandler (error)
####
parseUpdate (appId, response, onSuccess, onError)- appId:
String
- response: UpdateResponse
- onSuccess: CheckHandler
- onError: ErrorHandlerDetermine whether an update is available, by checking the provided response data. Store metadata from available updates for future calls to
IonicDeploy.download(...).This function is useful for testing, and also for using a custom remote update service. For all other use cases, you should just use
IonicDeploy.check(...).
#####
UpdateResponse`
interface UpdateResponse {
data: {
available: Boolean,
compatible: Boolean,
snapshot: String, // (unique per update, e.g. UUID)
url: String // (URL to download)
}
}
`
####
download (appId, onSuccess, onError)- appId:
String
- onSuccess: DownloadHandler
- onError: ErrorHandlerUsing the metadata from a recent
IonicDeploy.check(...) (or IonicDeploy.parseUpdate(...)), download and store an available update ZIP file.
#####
DownloadHandler (result)- result:
String or NumberIf
result is a numeric value, it communicates progress. If result is the string "true", it communicates completion.
####
extract (appId, onSuccess, onError)- appId:
String
- onSuccess: ExtractHandler
- onError: ErrorHandlerUnpack and apply the update ZIP file from a recent
IonicDeploy.download(...). After the app is terminated / destroyed) by the operating system, the update will take effect.The contents of the ZIP file should be the contents of the platform-specific "www" directory from a Cordova project. This directory is regenerated during
cordova build.
#####
ExtractHandler (result)- result:
String or NumberIf
result is a numeric value, it communicates progress. If result is the string "done", it communicates completion.
####
redirect (appId)- appId:
StringNavigate the webview to the version provided by a recent
IonicDeploy.extract(...). This is useful for use cases where it is undesirable to wait for the operating system to terminate / destroy the app.Any unsaved user data / state will be lost, so design your UX and/or data persistence approach accordingly.
####
exit (appId) (IOS only)- appId:
String`Absolutely exit the app. When install both ionic plugin deploy and wkwebview into app, after dowloaded and extracted, app can't redirect to newest version due to an webview error. Luckily, cold restart app will active the newest version.