cordova-hot-code-push-plugin npm
安裝
1. 命令行工具
npm install -g cordova-hot-code-push-cli
2.安裝插件
cordova plugin add cordova-hot-code-push-plugin
3.啟用服務
cordova-hcp server
4.用戶成功
Running server
Checking: /Cordova/TestProject/www
local_url http://localhost:31284
Warning: .chcpignore does not exist.
Build 2015.09.02-10.17.48 created in /Cordova/TestProject/www
cordova-hcp local server available at: http://localhost:31284
cordova-hcp public server available at: https://5027caf9.ngrok.com
如果在虛擬機上進行開發(fā)澜建,應用是可以直接訪問到熱更新服務器渣聚。但是真機開發(fā)阳惹,需要真機與服務器在同一個局域網(wǎng)內(nèi)择懂,并在config.xml
配置服務器地址:
<chcp>
<config-file url="https://IP地址/chcp.json"/>
</chcp>
相關配置
<auto-download enabled="false" />
<auto-install enabled="false" />
Defines if plugin is allowed to download updates. Originally update fetching is performed automatically, but you can disable it and do that manually through the JavaScript module.
即時,
注意:
更新流程
[圖片上傳失敗...(image-68ea5d-1527143332164)]
準備:cordova插件有實現(xiàn)activity的生命周期邑遏,并會在對應的周期中實現(xiàn)相關業(yè)務
initialize -> onStart -> onResume -> onPause -> onStop -> onDestroy
流程詳解
1.應用啟動會自動實例化插件(HotCodePushPlugin.java 該插件配置的onload = true),解析基本配置并會刪除舊版本的更新包
2.onStart 周期中會檢測hotcodepush是否初始成功(即佣赖,是否將www下的文件復制到codepush下管理,如果沒有會進行這個步驟记盒。復制到指定目錄下之后會發(fā)出 AssetsInstalledEvent
事件)
3.接收到 AssetsInstalledEvent
事件后憎蛤,會向服務器請求最新版本(fetchUpdate)。服務器返回的版本信息與本地進行比對(更新比對的是打包時間字串纪吮,只要字符不相等)俩檬,如果不相等,則會根據(jù)服務器給的地址進行下載
- UpdatesLoader 會進行下載碾盟,下載成功后會發(fā)出UpdateIsReadyToInstallEvent事件(這里會下載指定的update目錄下)
5.接收到 UpdateIsReadyToInstallEvent
事件棚辽,會將下載的更新包安裝到hotcodepush中。安裝成功會發(fā)出UpdateInstalledEvent
事件
6.接收到 UpdateInstalledEvent
事件冰肴,則立即進行頁面刷新redirectToLocalStorageIndexPage();