flutter_xupdate3

Last updated:

0 purchases

flutter_xupdate3 Image
flutter_xupdate3 Images
Add to Cart

Description:

flutter xupdate3

flutter_xupdate #




A Flutter plugin for XUpdate -- Android Update Library。See the use Chinese Document for details。
About me #



WeChat public number
juejin
zhihu
CSDN
jianshu
segmentfault
bilibili
toutiao




我的Android开源之旅
Click me
Click me
Click me
Click me
Click me
Click me
Click me



Video tutorial #
How to use flutter_xupdate
Stargazers over time #

Getting Started #
You should ensure that you add the flutter_xupdate as a dependency in your flutter project.
// pub 集成
dependencies:
flutter_xupdate: ^2.0.3

//github 集成
dependencies:
flutter_xupdate:
git:
url: git://github.com/xuexiangjys/flutter_xupdate.git
ref: master
copied to clipboard
UseCase #
Initialization #
///初始化
void initXUpdate() {
if (Platform.isAndroid) {
FlutterXUpdate.init(
///是否输出日志
debug: true,
///是否使用post请求
isPost: false,
///post请求是否是上传json
isPostJson: false,
///请求响应超时时间
timeout: 25000,
///是否开启自动模式
isWifiOnly: false,
///是否开启自动模式
isAutoMode: false,
///需要设置的公共参数
supportSilentInstall: false,
///在下载过程中,如果点击了取消的话,是否弹出切换下载方式的重试提示弹窗
enableRetry: false
).then((value) {
updateMessage("初始化成功: $value");
}).catchError((error) {
print(error);
});

FlutterXUpdate.setErrorHandler(
onUpdateError: (Map<String, dynamic> message) async {
print(message);
setState(() {
_message = "$message";
});
});
} else {
updateMessage("ios暂不支持XUpdate更新");
}
}

copied to clipboard
JSON Format #
{
"Code": 0, //0代表请求成功,非0代表失败
"Msg": "", //请求出错的信息
"UpdateStatus": 1, //0代表不更新,1代表有版本更新,不需要强制升级,2代表有版本更新,需要强制升级
"VersionCode": 3,
"VersionName": "1.0.2",
"ModifyContent": "1、优化api接口。\r\n2、添加使用demo演示。\r\n3、新增自定义更新服务API接口。\r\n4、优化更新提示界面。",
"DownloadUrl": "https://raw.githubusercontent.com/xuexiangjys/XUpdate/master/apk/xupdate_demo_1.0.2.apk",
"ApkSize": 2048
"ApkMd5": "..." //md5值没有的话,就无法保证apk是否完整,每次都会重新下载。框架默认使用的是md5加密。
}
copied to clipboard
CheckUpdate #
///默认App更新
void checkUpdateDefault() {
FlutterXUpdate.checkUpdate(url: _updateUrl);
}

///默认App更新 + 支持后台更新
void checkUpdateSupportBackground() {
FlutterXUpdate.checkUpdate(url: _updateUrl, supportBackgroundUpdate: true);
}

///调整宽高比
void checkUpdateRatio() {
FlutterXUpdate.checkUpdate(url: _updateUrl, widthRatio: 0.6);
}

///强制更新
void checkUpdateForce() {
FlutterXUpdate.checkUpdate(url: mUpdateUrl2);
}

///自动模式, 如果需要完全无人干预,自动更新,需要root权限【静默安装需要】
void checkUpdateAutoMode() {
FlutterXUpdate.checkUpdate(url: _updateUrl, isAutoMode: true);
}

///下载时点击取消允许切换下载方式
void enableChangeDownLoadType() {
FlutterXUpdate.checkUpdate(
url: _updateUrl,
overrideGlobalRetryStrategy: true,
enableRetry: true,
retryContent: "Github下载速度太慢了,是否考虑切换蒲公英下载?",
retryUrl: "https://www.pgyer.com/flutter_learn");
}
copied to clipboard
Custom JSON Format #
1.Setting up a custom update parser
FlutterXUpdate.setCustomParseHandler(onUpdateParse: (String json) async {
//Here is the custom JSON parsing
return customParseJson(json);
});

///Resolve the custom JSON content to the UpdateEntity entity class
UpdateEntity customParseJson(String json) {
AppInfo appInfo = AppInfo.fromJson(json);
return UpdateEntity(
hasUpdate: appInfo.hasUpdate,
isIgnorable: appInfo.isIgnorable,
versionCode: appInfo.versionCode,
versionName: appInfo.versionName,
updateContent: appInfo.updateLog,
downloadUrl: appInfo.apkUrl,
apkSize: appInfo.apkSize);
}
copied to clipboard
2.Set the parameter isCustomParse to true
FlutterXUpdate.checkUpdate(url: _updateUrl3, isCustomParse: true);
copied to clipboard
Update By UpdateEntity Directly #
///直接传入UpdateEntity进行更新提示
void checkUpdate8() {
FlutterXUpdate.updateByInfo(updateEntity: customParseJson(_customJson));
}
copied to clipboard
Custom Update Prompt Style #

Currently, only theme color and top picture customization are supported!

1.Configure top picture, Path: android/app/src/main/res/values/drawable, For example:

2.Set the parameter themeColor 、 topImageRes and buttonTextColor
///自定义更新弹窗样式
void customPromptDialog() {
FlutterXUpdate.checkUpdate(url: _updateUrl, themeColor: '#FFFFAC5D', topImageRes: 'bg_update_top', buttonTextColor: '#FFFFFFFF');
}
copied to clipboard
【Note】: When you use the command flutter build apk to make a release package, If you use the topImageRes property, you must configure shrinkResources to false, otherwise the pop-up window will display an exception!

Property value #
Initialization #



Name
Type
Default
Description




debug
bool
false
Whether Output log


isPost
bool
false
Whether use post request


isPostJson
bool
false
Whether post request upload json format


timeout
int
20000(ms)
Request response timeout


isWifiOnly
bool
true
Whether update only under WiFi


isAutoMode
bool
false
Whether to turn on automatic mode


supportSilentInstall
bool
false
Whether to support silent installation requires that the device has root permission


enableRetry
bool
false
In the process of downloading, if you click Cancel, whether the pop-up window for retrying to switch the download mode will pop up


retryContent
String
''
Try the prompt content of the prompt pop-up window again


retryUrl
String
''
Retrying prompt pop-up URL to jump after clicking


params
Map
/
Public parameters to be set



CheckUpdate #



Name
Type
Default
Description




url
String
/
URL of version check


params
Map
/
Parameters


supportBackgroundUpdate
bool
false
Whether to support background updates


isAutoMode
bool
false
Whether to turn on automatic mode


isCustomParse
bool
false
Is it a custom resolution protocol


themeColor
String
''
Apply pop-up theme color


topImageRes
String
''
The name of the top picture resource in the pop-up window


buttonTextColor
String
''
The color of the button text


widthRatio
double
/
Proportion of version update Prompter width to screen


heightRatio
double
/
Proportion of version update Prompter height to screen


overrideGlobalRetryStrategy
bool
false
Whether to override the global retry policy


enableRetry
bool
false
In the process of downloading, if you click Cancel, whether the pop-up window for retrying to switch the download mode will pop up


retryContent
String
''
Try the prompt content of the prompt pop-up window again


retryUrl
String
''
Retrying prompt pop-up URL to jump after clicking

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.