应用更新,先判断下载权限,有就直接后台下载地址更新,没有就跳转市场,判断市场是否是最新版本,是就更新,不是就跳转官网,
先导入decimal,url_launcher,r_upgrade,flutter_upgrade依赖
flutter_upgrade获取本地应用市场比较多
AppStore.jumpToAppStore();
import 'dart:convert';
import 'dart:io';
import 'dart:math';
import 'package:flutter_upgrade/flutter_upgrade.dart';
import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:get/get.dart';
import 'package:r_upgrade/r_upgrade.dart';
import 'package:toptongpin/app/store/store.dart';
import 'package:toptongpin/app/utils/toast_util.dart';
import 'num_util.dart';
import 'object_util.dart';
import 'package:decimal/decimal.dart';
import 'package:url_launcher/url_launcher.dart';
class AppStore {
static StoreController storeController = Get.find();
static void jumpToAppStore() async {
EasyLoading.show();
if (Platform.isIOS) {
await getVersionFromAppStore();
} else if (Platform.isAndroid) {
await getAndroidStores();
}
}
static getVersionFromAppStore() async {
String? versionName = await RUpgrade.getVersionFromAppStore(
'1619726940', //例如:微信的AppId:414478124
);
if (ObjectUtil.isNotEmpty(versionName)) {
EasyLoading.dismiss();
jumpToIosAppStore();
} else {
EasyLoading.dismiss();
ToastUtil.success('暂未在您应用市场找到该app');
}
}
static void jumpToIosAppStore() async {
bool? isSuccess = await RUpgrade.upgradeFromAppStore(
'1619726940', //例如:微信的AppId:414478124
);
print(isSuccess);
}
static getAndroidStores() async {
final res = await FlutterUpgrade.getInstallMarket();
print(res);
if (ObjectUtil.isEmptyList(res)) {
EasyLoading.dismiss();
ToastUtil.success('暂无应用市场');
} else {
EasyLoading.dismiss();
print(res[0]);
final versionName = await RUpgrade.getVersionFromAndroidStore(
AndroidStore.internal(res[0].toString()));
print(versionName.toString() + '88888888888888888888888888');
i