load method
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;
}