openStore method
Future<void>
openStore({
- AndroidUpgradeOption? androidOption,
- IOSUpgradeOption? iOSOption,
override
Open App Store or Android application market.
Implementation
@override
Future<void> openStore({
AndroidUpgradeOption? androidOption,
IOSUpgradeOption? iOSOption,
}) async {
if (defaultTargetPlatform == TargetPlatform.android) {
if (androidOption == null) {
throw Exception('The AndroidUpgradeOption cannot be empty.');
} else {
androidOption.channel = methodChannel;
final String url = await androidOption.url;
if (url.isBlank) {
await _launchUrl(androidOption.downloadUrl);
} else {
final bool canUseMarket = await _launchUrl(await androidOption.url);
if (!canUseMarket) await _launchUrl(androidOption.downloadUrl);
}
}
} else if (defaultTargetPlatform == TargetPlatform.iOS) {
if (iOSOption == null) {
throw Exception('The IOSUpgradeOption cannot be empty.');
} else {
await _launchUrl(await iOSOption.url);
}
} else {
const String details =
'The `openStore` method of the upgrade_util plugin currently only '
'supports Android and iOS.';
throw PlatformException(code: 'Unimplemented', details: details);
}
}