load method

  1. @override
Future<AdResult<AdHandle>> load(
  1. AdFormat format,
  2. String adUnitId
)
override

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);
}