getNextAd method
Implementation
Widget? getNextAd(List priorityList) {
for (var network in priorityList) {
switch (network) {
case 'admob':
if (_admobAds.isNotEmpty) {
final ad = _admobAds.removeAt(0);
_preloadAdMob(MyAds.nativeNormal);
return AnimatedContainer(
duration: const Duration(milliseconds: 250),
constraints: constraintsForType(
ad?.nativeTemplateStyle?.templateType,
),
child: AdWidget(ad: ad, key: UniqueKey()),
);
return AdWidget(ad: ad, key: UniqueKey());
}
break;
case 'admanager':
if (_adManagerAds.isNotEmpty) {
final ad = _adManagerAds.removeAt(0);
_preloadAdManager(MyAds.nativeNormal);
return AnimatedContainer(
duration: const Duration(milliseconds: 250),
constraints: constraintsForType(
ad?.nativeTemplateStyle?.templateType,
),
child: AdWidget(ad: ad, key: UniqueKey()),
);
return AdWidget(ad: ad, key: UniqueKey());
}
break;
case 'facebook':
if (_facebookAds.isNotEmpty) {
final fb = _facebookAds.removeAt(0);
_preloadFacebook(MyAds.nativeNormal); // 🔄 refill
return fb;
}
break;
case 'qureka':
if (_qurekaAds.isNotEmpty) {
final qk = _qurekaAds.removeAt(0);
_preloadQureka(MyAds.nativeNormal); // 🔄 refill
return qk;
}
break;
}
}
return null; // nothing available
}