loadNativeAd method

  1. @override
Future<List<FlutterNativeAd>> loadNativeAd({
  1. required String adId,
  2. bool isTesting = false,
  3. int adsCount = 1,
  4. NativeAdRequest? adRequest,
  5. void onImpression(
    1. String adId
    )?,
  6. void onClicked(
    1. String adId
    )?,
  7. void onOpened(
    1. String adId
    )?,
  8. void onClosed(
    1. String adId
    )?,
})
override

Loads one or more native ads with the specified options.

Implementation

@override
Future<List<FlutterNativeAd>> loadNativeAd({
  required String adId,
  bool isTesting = false,
  int adsCount = 1,
  NativeAdRequest? adRequest,
  void Function(String adId)? onImpression,
  void Function(String adId)? onClicked,
  void Function(String adId)? onOpened,
  void Function(String adId)? onClosed,
}) async {
  final Map<String, dynamic> arguments = {
    'adId': adId,
    'isTesting': isTesting,
    'adsCount': adsCount,
    'adRequest': adRequest?.toMap(),
  };

  final List<dynamic>? result = await methodChannel.invokeMethod<List<dynamic>>('loadNativeAd', arguments);

  if (result == null) return [];

  final ads = result.map((e) => FlutterNativeAd.fromMap(Map<String, dynamic>.from(e as Map))).toList();

  for (var ad in ads) {
    _adCallbacks[ad.id] = [
      onImpression ?? (_) {},
      onClicked ?? (_) {},
      onOpened ?? (_) {},
      onClosed ?? (_) {},
    ];
  }

  return ads;
}