loadBanner static method
Implementation
static void loadBanner(
BuildContext context, BannerHolder bannerHolder) async {
if (!_isShowAds || await isNetworkConnected() == false) {
bannerHolder.isLoad = false;
bannerHolder.adsBannerController.value = Banner(null, "no internet");
return;
}
final String adUnitId = _isDebug
? _idTestBannerAd
: Platform.isAndroid
? bannerHolder.idAndroid
: bannerHolder.idIOS;
if (!context.mounted) {
return;
}
final size = await AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(
MediaQuery.sizeOf(context).width.truncate());
if (size == null) {
// Unable to get the size.
return;
}
bannerHolder.isLoad = true;
bannerHolder.adsBannerController.value = Banner(null, "");
var adRequest = const AdRequest();
BannerAd(
adUnitId: adUnitId,
request: adRequest,
size: size,
listener: BannerAdListener(
onAdLoaded: (ad) {
log("message load banner collap $ad");
bannerHolder.adsBannerController.value =
Banner(ad as BannerAd, "success");
},
onAdFailedToLoad: (ad, err) {
log("message load banner collap err: $err");
bannerHolder.isLoad = false;
bannerHolder.adsBannerController.value =
Banner(ad as BannerAd, "error");
;
ad.dispose();
},
)).load();
}