1. 程式人生 > >ionic 實現自動升級APP

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 現在暫時還沒有做。


  到此程式更新就完成了。