loadAd method

void loadAd()

Implementation

void loadAd() {
  if (_isLoading || _isLoaded || _adUnitId == null) return;

  _isLoading = true;
  InterstitialAd.load(
    adUnitId: _adUnitId!,
    request: const AdRequest(),
    adLoadCallback: InterstitialAdLoadCallback(
      onAdLoaded: (ad) {
        _interstitialAd = ad;
        _isLoaded = true;
        _isLoading = false;
        onAdLoaded?.call('Interstitial');
        print('✅ Interstitial Ad loaded successfully');
      },
      onAdFailedToLoad: (error) {
        _isLoaded = false;
        _isLoading = false;
        _interstitialAd = null;
        onAdError?.call('Interstitial Load: ${error.message}');
        print('❌ Interstitial Ad failed to load: ${error.message}');

        // Retry loading after delay
        Future.delayed(AdConstants.adRetryDelay, () {
          loadAd();
        });
      },
    ),
  );
}