ionic 實現自動升級APP
http://www.cnblogs.com/shachangdianbing/p/6186873.html
最近做移動商城開發,需要一個自動升級APP的功能,在網上搜羅很多,發現有的是下載APK,有的在我這服務無法實現,由於時間原因,都被PASS了,最後找到了一個熱更新外掛,經過半天的除錯,可以使用,很欣喜,記錄下來,一起學習。
此外掛名稱是cordova-hot-code-push 可以在github 下載到原始碼,附地址:https://github.com/nordnet/cordova-hot-code-push
1.首先開啟cli,執行命令 npm install -g cordova-hot-code-push-cli
此功能主要是為了生成兩個配置檔案chcp.json和chcp.manifest,用於檢測更新
2.安裝更新外掛
開啟專案路徑,開啟cli
ionic plugin add cordova-hot-code-push-plugin
ionic plugin add cordova-hot-code-push-local-dev-addon
3.執行 cordova-hcp build 或 cordova build
此時www資料夾中會出現兩個檔案,也就是上文說的chcp.json和chcp.manifest
chcp.json格式
{
"autogenerated": true,
"content_url": "http://xxxxx.com", //更新遠端庫路徑
"update": "start", //更新模式 start:啟動更新 resume:後臺切換回來更新 now:web內容下載完畢即安裝更新
"release": "2016.12.16-11.29.38"
}
該檔案在每次執行cordova-hcp build 都會更新,為了不用每次更改chcp.json的內容,可以在專案根目錄下建立一個cordova-hcp.json檔案,如下
{
"autogenerated": true,
"content_url": "http://xxxxx.com", //更新遠端庫路徑
"update": "start"
}
以後每次執行cordova-hcp build時,會將cordova-hcp.json的內容更新到chcp.json中,省去每次都要修改的麻煩。
chcp.manifest 為檔案的名稱與hash值的集合,用於檢測哪些檔案需要更新
4.此時在專案根目錄下會生成一個.chcpenv的檔案,此檔案使用者配置遠端伺服器,內容如下:
{
"content_url": "http://xxxxx.com", //用於獲取檔案
"config_url": "http://xxxxx.com/chcp.json" //用於訪問遠端伺服器配置檔案
}
5.現在就可以打包APP測試,修改www目錄下的任何一個檔案,然後cli執行cordova-hcp build,上面的兩個配置檔案會同時更新,
然後將www下所有的檔案一起拷貝到遠端伺服器目錄,我放在了IIS 下的一個AppUpdate下
6.現在就可以開啟程式檢視更新效果,可能會開啟兩次才能看到效果,可以看一下剛才更新的內容。
上述都是基於android的,ios 現在暫時還沒有做。
到此程式更新就完成了。