load method
Loads a full-screen ad of format.
Implementation
@override
Future<AdResult<AdHandle>> load(AdFormat format, String adUnitId) async {
loadCalls.add((format: format, adUnitId: adUnitId));
if (loadDelay > Duration.zero) await Future<void>.delayed(loadDelay);
if (!supportedFormats.contains(format)) {
return AdFailure(
AdError(
code: AdErrorCode.unsupportedFormat,
message: 'fake does not support ${format.id}',
network: network,
),
);
}
final error = loadError;
if (error != null) return AdFailure(error.copyWith(network: network));
final handle = AdHandle(
id: '${network.id}-${++_counter}',
network: network,
format: format,
adUnitId: adUnitId,
loadedAt: DateTime.now(),
);
_loaded[handle.id] = handle;
emit(AdLoaded(network: network, adId: handle.id, format: format));
return AdSuccess(handle);
}