loadNativeAd method
void
loadNativeAd({
- required TemplateType templateType,
- required double minWidth,
- required double minHeight,
- required double maxWidth,
- required double maxHeight,
- String? adID,
- void onAdClicked()?,
- void onAdImpression()?,
- void onAdClosed()?,
- void onAdOpened()?,
- void onAdWillDismissScreen()?,
- void onPaidEvent(
- Ad,
- double,
- PrecisionType,
- String,
Preload the ad once
Implementation
void loadNativeAd({
required TemplateType templateType,
required double minWidth,
required double minHeight,
required double maxWidth,
required double maxHeight,
String? adID,
void Function(Ad)? onAdClicked,
void Function(Ad)? onAdImpression,
void Function(Ad)? onAdClosed,
void Function(Ad)? onAdOpened,
void Function(Ad)? onAdWillDismissScreen,
void Function(Ad, double, PrecisionType, String)? onPaidEvent,
}) {
if (_preloadedAd != null) return; // Already preloaded
final adUnit = adID ?? AdmobEasy.instance.nativeAdID;
if (adUnit.isEmpty) {
AdmobEasyLogger.error("Native Ad ID is empty");
return;
}
final ad = NativeAd(
adUnitId: adUnit,
listener: NativeAdListener(
onAdLoaded: (ad) {
_preloadedAd = ad as NativeAd;
AdmobEasyLogger.success("Preloaded Native Ad (ID: $adUnit)");
},
onAdFailedToLoad: (ad, error) {
_preloadedAd = null;
ad.dispose();
AdmobEasyLogger.error("Failed to preload Native Ad: $error");
},
onAdClicked: onAdClicked,
onAdImpression: onAdImpression,
onAdClosed: onAdClosed,
onAdOpened: onAdOpened,
onAdWillDismissScreen: onAdWillDismissScreen,
onPaidEvent: onPaidEvent,
),
request: const AdRequest(),
nativeTemplateStyle: NativeTemplateStyle(templateType: templateType),
);
ad.load();
}