loadNativeAd method
Future<String?>
loadNativeAd({
- required String adUnitId,
- AdRequestConfig? requestConfig,
- NativeAdMediaAspectRatio? mediaAspectRatio,
Loads a native ad.
adUnitId - The ad unit ID for the native ad.
requestConfig - Optional configuration for the ad request.
mediaAspectRatio - Optional media aspect ratio preference for the native ad.
Returns a unique native ad ID if successful, null otherwise.
Example:
final nativeAdId = await ads.loadNativeAd(
adUnitId: 'ca-app-pub-xxxxx/xxxxx',
mediaAspectRatio: NativeAdMediaAspectRatio.landscape,
);
Implementation
Future<String?> loadNativeAd({
required String adUnitId,
AdRequestConfig? requestConfig,
NativeAdMediaAspectRatio? mediaAspectRatio,
}) async {
_validateAdUnitId(adUnitId);
try {
debugPrint('Loading native ad: adUnitId=$adUnitId');
final params = <String, dynamic>{
'adUnitId': adUnitId,
};
if (requestConfig != null) {
params.addAll(requestConfig.toMap());
}
if (mediaAspectRatio != null) {
params['mediaAspectRatio'] = mediaAspectRatio.index;
}
final result = await _channel.invokeMethod<String>(
'loadNativeAd',
params,
);
debugPrint('Native ad loaded with ID: $result');
return result;
} catch (e) {
debugPrint('Error loading native ad: $e');
return null;
}
}