loadBannerAd method

Future<String?> loadBannerAd({
  1. required String adUnitId,
  2. required BannerAdSize size,
  3. AdRequestConfig? requestConfig,
})

Loads a banner ad.

adUnitId - The ad unit ID for the banner ad. size - The size of the banner ad. requestConfig - Optional configuration for the ad request.

Returns a unique banner ID if successful, null otherwise.

Example:

final bannerId = await ads.loadBannerAd(
  adUnitId: 'ca-app-pub-xxxxx/xxxxx',
  size: BannerAdSize.adaptive,
);

Implementation

Future<String?> loadBannerAd({
  required String adUnitId,
  required BannerAdSize size,
  AdRequestConfig? requestConfig,
}) async {
  _validateAdUnitId(adUnitId);
  try {
    debugPrint('Loading banner ad: adUnitId=$adUnitId, size=${size.name}');
    final params = <String, dynamic>{
      'adUnitId': adUnitId,
      'size': size.index,
    };

    if (requestConfig != null) {
      params.addAll(requestConfig.toMap());
    }

    final result = await _channel.invokeMethod<String>(
      'loadBannerAd',
      params,
    );
    debugPrint('Banner ad loaded with ID: $result');
    return result;
  } catch (e) {
    debugPrint('Error loading banner ad: $e');
    return null;
  }
}