SmartBannerAdView class
A smart, policy-compliant reusable widget for displaying Banner Ads.
Features:
- Real-time network detection via NetworkInfo.
- Seamless fallback to CustomOfflineBannerAdWidget with CustomAdModel support when disconnected.
- Automatic event tracking via AdsManager.onAdEvent.
- Fixed bounds preventing Cumulative Layout Shift (CLS) and accidental clicks.
- Optional onPaidEvent for Impression-Level Ad Revenue (ILRD) and LTV tracking.
- Reactive global ad suppression support when AdsManager.isAdsEnabled is
false. - Automatic disposal and memory cleanup.
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- SmartBannerAdView
Constructors
- SmartBannerAdView({Key? key, String? adUnitId, AdSize adSize = AdSize.banner, AdRequest? adRequest, CustomAdModel? customAd, bool showOfflineFallback = true, VoidCallback? onAdLoaded, dynamic onAdFailedToLoad(LoadAdError error)?, VoidCallback? onAdClicked, OnPaidEventCallback? onPaidEvent, Widget? placeholder, Widget? customOfflineWidget, NetworkInfo? networkInfo})
-
const
Properties
- adRequest → AdRequest?
-
Optional custom
AdRequestparameters (keywords, targeting, etc.).final - adSize → AdSize
-
Ad size (default: AdSize.banner - 320x50).
final
- adUnitId → String?
-
Custom Ad Unit ID. If null, default configured or test ID from AdConstants is used.
final
- customAd → CustomAdModel?
-
Custom ad model to use for offline fallback or direct campaigns.
final
- customOfflineWidget → Widget?
-
Custom offline fallback widget to override default fallback.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- networkInfo → NetworkInfo?
-
Optional network info checker for connectivity updates. Defaults to NetworkInfoImpl.
final
- onAdClicked → VoidCallback?
-
Callback when ad is clicked.
final
- onAdFailedToLoad → dynamic Function(LoadAdError error)?
-
Callback when ad fails to load.
final
- onAdLoaded → VoidCallback?
-
Callback when ad loads successfully.
final
- onPaidEvent → OnPaidEventCallback?
-
Impression-level ad revenue callback for analytics (e.g. Firebase, Adjust, AppsFlyer).
final
- placeholder → Widget?
-
Widget to show while loading.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- showOfflineFallback → bool
-
Whether to render a custom offline banner ad when disconnected or on load error.
final
Methods
-
createElement(
) → StatefulElement -
Creates a StatefulElement to manage this widget's location in the tree.
inherited
-
createState(
) → State< SmartBannerAdView> -
Creates the mutable state for this widget at a given location in the tree.
override
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of DiagnosticsNode objects describing this node's
children.
inherited
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toDiagnosticsNode(
{String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode -
Returns a debug representation of the object that is used by debugging
tools and by DiagnosticsNode.toStringDeep.
inherited
-
toString(
{DiagnosticLevel minLevel = DiagnosticLevel.info}) → String -
A string representation of this object.
inherited
-
toStringDeep(
{String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String -
Returns a string representation of this node and its descendants.
inherited
-
toStringShallow(
{String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String -
Returns a one-line detailed description of the object.
inherited
-
toStringShort(
) → String -
A short, textual description of this widget.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
getAnchoredAdaptiveAdSize(
BuildContext context, {Orientation? orientation, double? width}) → Future< AnchoredAdaptiveBannerAdSize?> - Helper to calculate an Anchored Adaptive Banner size based on the current device orientation and screen width.