load method

  1. @override
Future<bool> load()
override

Implementation

@override
Future<bool> load() {
  if (state == AdState.loading) return Future.value(false);
  state = AdState.loading;
  final completer = Completer<bool>();

  AppOpenAd.load(
    adUnitId: adUnitId,
    request: const AdRequest(),
    adLoadCallback: AppOpenAdLoadCallback(
      onAdLoaded: (ad) {
        _ad = ad;
        _loadTime = DateTime.now();
        state = AdState.loaded;
        _setupCallbacks();
        completer.complete(true);
      },
      onAdFailedToLoad: (error) {
        state = AdState.failed;
        dPrint('❌ AppOpen load failed: ${error.message}');
        completer.complete(false);
      },
    ),
  );

  return completer.future;
}