SmartNativeAdView class
A smart, policy-compliant reusable widget for displaying Native Ads.
Features:
- Real-time network detection via NetworkInfo.
- Seamless fallback to CustomOfflineNativeAdWidget with CustomAdModel support when disconnected.
- Automatic event tracking via AdsManager.onAdEvent.
- Fixed bounding template heights (Small: 90px, Medium: 350px).
- 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
- SmartNativeAdView
Constructors
- SmartNativeAdView({Key? key, String? adUnitId, TemplateType templateType = TemplateType.medium, NativeTemplateStyle? nativeTemplateStyle, AdRequest? adRequest, CustomAdModel? customAd, String? factoryId, double cornerRadius = 12.0, 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 - adUnitId → String?
-
Custom Ad Unit ID. If null, default configured or test ID from AdConstants is used.
final
- cornerRadius → double
-
Border corner radius for the native template container.
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
- factoryId → String?
-
Custom native ad factory ID (for custom platform view layouts).
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- nativeTemplateStyle → NativeTemplateStyle?
-
Optional custom native template style to customize colors, fonts, and background.
final
- 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?
-
Custom widget to display during loading.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- showOfflineFallback → bool
-
Whether to render a custom offline native ad fallback when disconnected.
final
- templateType → TemplateType
-
Native ad template size (TemplateType.small or TemplateType.medium).
final
Methods
-
createElement(
) → StatefulElement -
Creates a StatefulElement to manage this widget's location in the tree.
inherited
-
createState(
) → State< SmartNativeAdView> -
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