updateIfAvailable method
Future<bool>
updateIfAvailable({
- bool isFlexibleUpdateAndroid = true,
- Widget iOSUpdateDialogBuilder()?,
- BuildContext? contextBuilder()?,
- void androidProgressCallback()?,
Implementation
Future<bool> updateIfAvailable({
bool isFlexibleUpdateAndroid = true,
Widget Function()? iOSUpdateDialogBuilder,
BuildContext? Function()? contextBuilder,
void Function(SmartAppUpdateProgressInfo)? androidProgressCallback,
}) async {
final updateInfo = await getUpdateInfo();
if (updateInfo.isUpdateAvailable) {
if (Platform.isAndroid) {
if (isFlexibleUpdateAndroid) {
if (await AndroidSmartAppUpdate.instance.startImmediateUpdate()) {
if (androidProgressCallback != null) {
AndroidSmartAppUpdate.instance.onProgressUpdated(
androidProgressCallback,
);
}
}
} else {
return await AndroidSmartAppUpdate.instance.startImmediateUpdate();
}
} else if (Platform.isIOS) {
if (iOSUpdateDialogBuilder != null) {
return IOSSmartAppUpdate.instance.showUpdateDialogWithBuilder(
contextBuilder: contextBuilder,
iOSUpdateDialogBuilder: iOSUpdateDialogBuilder,
);
} else {
return IOSSmartAppUpdate.instance.showUpdateDialog(
contextBuilder: contextBuilder,
appLinkUrl: iOSAppLinkUrl,
releaseNotes: updateInfo.releaseNotes,
);
}
}
}
return false;
}