前言
前段時(shí)間我發(fā)布了一個(gè)只針對(duì)Android的版本更新框架flutter_xupdate,發(fā)布以來收到了大家許多的建議.當(dāng)時(shí)我也只是為了自己方便才寫的這么一個(gè)插件,并沒有考慮很多.
建議有很多,大致可以分為如下幾類:
- 能否支持ios版本更新?
- 能否支持自定義api?
- 能否支持自定義版本更新彈窗?
- 能否開發(fā)apk安裝能力?
....
看到最后,居然還有人問:能不能給我提供檢查版本垒迂、彈窗顯示妒蛇、apk下載机断、apk安裝的能力,這樣我就可以自己寫更新邏輯了...
看來真的是不同的人對(duì)版本更新是有不同的需求,我想了一下,與其我提供這么一個(gè)較重的原生插件,倒不如直接提供一個(gè)使用純dart編寫的版本更新彈窗,然后再提供一個(gè)使用dart插件組合編寫的版本更新功能使用案例,這樣大家就可以參照著案例,根據(jù)自己的需求來自己寫版本更新邏輯了.
下面話不多說,我給出版本更新彈窗flutter_update_dialog
的插件地址:
https://github.com/xuexiangjys/flutter_update_dialog
以及使用它實(shí)現(xiàn)的版本更新案例flutter_app_update_example
:
https://github.com/xuexiangjys/flutter_app_update_example
演示
-
默認(rèn)樣式
-
自定義樣式
快速集成指南
添加引用依賴
在你的flutter項(xiàng)目中的pubspec.yaml
文件中添加flutter_update_dialog
依賴.
- 方法一: pub集成
dependencies:
flutter_update_dialog: ^0.0.1
- 方法二: github集成
dependencies:
flutter_update_dialog:
git:
url: git://github.com/xuexiangjys/flutter_update_dialog.git
ref: master
如何使用
默認(rèn)樣式
void defaultStyle() {
if (dialog != null && dialog.isShowing()) {
return;
}
dialog = UpdateDialog.showUpdate(context,
title: "是否升級(jí)到4.1.4版本?",
updateContent: "新版本大小:2.0M\n1.xxxxxxx\n2.xxxxxxx\n3.xxxxxxx",
onUpdate: onUpdate);
}
自定義樣式
void customStyle() {
if (dialog != null && dialog.isShowing()) {
return;
}
dialog = UpdateDialog.showUpdate(context,
width: 250,
title: "是否升級(jí)到4.1.4版本绣夺?",
updateContent: "新版本大小:2.0M\n1.xxxxxxx\n2.xxxxxxx\n3.xxxxxxx",
titleTextSize: 14,
contentTextSize: 12,
buttonTextSize: 12,
topImage: Image.asset('assets/bg_update_top.png'),
extraHeight: 5,
radius: 8,
themeColor: Color(0xFFFFAC5D),
progressBackgroundColor: Color(0x5AFFAC5D),
isForce: true,
updateButtonTxt: '升級(jí)',
ignoreButtonTxt: '忽略此版本',
enableIgnore: true, onIgnore: () {
ToastUtils.waring("忽略");
dialog.dismiss();
},
onUpdate: onUpdate);
}
屬性表
Name | Type | Default | Description |
---|---|---|---|
width | double | 0.618 * screenWidth | 彈窗的寬度 |
title | String | / | 更新標(biāo)題 |
updateContent | String | / | 更新內(nèi)容 |
onUpdate | VoidCallback | / | 點(diǎn)擊更新按鈕的回調(diào) |
titleTextSize | double | 16.0 | 標(biāo)題文字大小 |
contentTextSize | double | 14.0 | 更新內(nèi)容文字的大小 |
buttonTextSize | double | 14.0 | 按鈕文字的大小 |
themeColor | Color | Colors.red | 主題顏色(按鈕吏奸、進(jìn)度條的顏色) |
progressBackgroundColor | Color | 0xFFFFCDD2 | 進(jìn)度條背景的顏色 |
topImage | Image | / | 更新彈窗頂部的圖片 |
extraHeight | double | 5.0 | 距離頂部圖片的拓展高度 |
radius | double | 4.0 | 彈窗圓角大小 |
enableIgnore | bool | false | 是否開啟忽略版本的按鈕 |
updateButtonText | String | '更新' | 更新按鈕的文字 |
ignoreButtonText | String | '忽略此版本' | 忽略按鈕的文字 |
isForce | bool | false | 是否強(qiáng)制更新(是否有關(guān)閉的按鈕) |
onIgnore | VoidCallback | / | 點(diǎn)擊忽略按鈕的回調(diào) |
關(guān)聯(lián)鏈接
- XUpdate 的Flutter插件
- XUpdate 一個(gè)輕量級(jí)、高可用性的Android版本更新框架
- XUpdate 使用說明文檔
- XUpdate 后臺(tái)管理服務(wù)
- XUpdate 后臺(tái)管理系統(tǒng)