getNextAd method

Widget? getNextAd(
  1. List priorityList
)

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
}