createBanner static method
Future<String?>
createBanner({
- required String placementName,
- String? adId,
- CloudXAdViewListener? listener,
- AdViewPosition? position,
Create a banner ad
If adId is not provided, one will be automatically generated.
Returns the adId (either provided or generated) for use with other methods.
placementName - Ad placement name
adId - Optional custom ad identifier
listener - Optional callback listener for ad events
position - Optional position for programmatic banner placement.
If provided, creates a native overlay banner at the specified position.
If null, creates a widget-based banner for use with CloudXBannerView.
Implementation
static Future<String?> createBanner({
required String placementName,
String? adId,
CloudXAdViewListener? listener,
AdViewPosition? position,
}) async {
await _ensureEventStreamInitialized();
// Auto-generate adId if not provided
final id = adId ??
'banner_${placementName}_${DateTime.now().millisecondsSinceEpoch}';
final arguments = <String, dynamic>{
'placementName': placementName,
'adId': id,
};
// Add position if programmatic banner
if (position != null) {
arguments['position'] = position.value;
}
final success = await _invokeMethod<bool>('createBanner', arguments);
if (success ?? false) {
if (listener != null) {
_listeners[id] = listener;
}
return id;
}
return null;
}