一、創建云服務空間(https://unicloud.dcloud.net.cn)
云空間用于關聯需要版本控制升級的項目,如果已擁有云空間則省略此步驟。
二、搭建 uni升級中心 - 后臺管理系統(升級中心 uni-upgrade-center - Admin)
uni-admin是一套基于uniCloud的開源應用管理端系統。
本插件是uni-admin系統的擴展插件,為開發者的admin系統添加功能。
需先確保本機有uni-admin項目,然后將此插件導入到uni-admin項目下。
如本機沒有uni-admin項目,需要先在HBuilderX中新建項目 -> uni-app項目 -> 選擇uni-admin模板。
如本機的uni-admin項目版本過老,可能無法使用新插件,需及時升級本機的uni-admin項目。
uni-admin 搭建過程和使用詳見 https://ext.dcloud.net.cn/plugin?id=4470
三、需要打包的項目引入 uni升級中心 - 客戶端檢查更新插件(升級中心 uni-upgrade-center - App)
uni-upgrade-center-app引入過程詳見https://ext.dcloud.net.cn/plugin?id=4542
四、App打包
1、兩種打包形式,原生apk包和熱更新wgt包
通常選擇使用云端證書進行打包
此時為需要打包的app生成證書
2、我們是通過https://www.dcloud.io/ 的開發者后臺
登錄賬號需要和app綁定的云空間保持一致
3、登錄成功后,可以到我的應用里面創建應用
創建完成后進入到具體應用中,生成證書(appid是唯一的需要保持一致)
五、app發布和版本控制
1、運行步驟二搭建的uni-admin項目 登錄成功后進入到uni-admin
若未發現升級中心模塊則需要 添加菜單
Vue2
運行起來uniCloud admin,菜單管理模塊會自動讀取/uni_modules/uni-upgrade-center/menu.json文件中的菜單配置,生成【待添加菜單】,選中升級中心,點擊添加選中的菜單即可
Vue3
將/uni_modules/uni-upgrade-center/menu.json 拷貝至 uniCloud/database/db_init.json 中的 opendb-admin-menus 節點下,并右鍵初始化數據庫即可。
應用列表
點擊菜單 應用管理,這里展示你所添加的 App,點擊右上角 新增 可以新增一個 App
將App的信息都填寫完善后,你可以在列表的操作列進行修改應用信息或者刪除該應用。
注意:
刪除應用會把該應用的所有版本記錄同時刪除
版本管理
在版本管理list的右上角點擊發布新版,可以發布原生App安裝包和wgt資源包。在左上角點擊下拉列表,可以切換展示應用。
發布原生App安裝包,在上傳安裝包界面填寫此次發版信息
包地址
可以選擇手動上傳一個文件到 云存儲,會自動將地址填入該項
也可以手動填寫一個地址,就可以不用再上傳文件
如果是發布蘋果版本,包地址則為 應用在AppStore的鏈接
強制更新
如果使用強制更新,App端接收到該字段后,App升級彈出框不可取消
上線發行
可設置當前包是否上線發行,只有已上線才會進行更新檢測
同時只可有一個線上發行版,線上發行不可更設為下線。未上線可以設為上線發行并自動替換當前線上發行
版修改當前包為上線發行,自動替換當前線上發行版
注意:版本號請填寫以.分隔字符串,例如:0.0.1
發布wgt資源包
大部分配置與發布 原生App安裝包 一致
原生App最低版本
上次使用新Api或打包新模塊的App版本
如果此次打包wgt使用了新的api或者打包了新的模塊,則在發布 wgt資源包 的時候,將此版本更新為本次版本
如果已有正式版wgt資源包,則本次新增會自動帶出
靜默更新
App升級時會在后臺下載wgt包并自行安裝。新功能在下次啟動App時生效
靜默更新后不重啟應用,可能會導致正在訪問的應用的頁面數據錯亂,請謹慎使用!
發布完成頁面
注意:
- pages/system/upgradecenter/version/add.vue中有版本對比函數(compare)。
使用多段式版本格式(如:“3.0.0.0.0.1.0.1”, “3.0.0.0.0.1”)(比較版本的方式大致是版本號去除. 后拼接成數字比較大小,具體可以去看下載插件中的代碼)。如果不滿足對比規則,請自行修改。
本地的uniCloudAdmin 和待發行項目都必須關聯到云空間 - 在維護老項目的時候發現有些系統內的升級插件是老的,老版本的不需要后臺管理系統(升級中心 uni-upgrade-center - Admin),新版本的要。具體看官方的內容。