BannerAdController class Null safety

An Banner Ad Controller model to communicate with the model on the platform side. It gives you methods to help in the implementation and event tracking. It's supposed to work alongside BannerAd, the class used to show the ad in the UI and add it to the widget tree.

For more info, see:



BannerAdController({Duration loadTimeout = kDefaultLoadTimeout, Duration timeout = kDefaultAdTimeout})
Creates a new native ad controller


channel MethodChannel
Channel to communicate with controller
read / write, inherited
hashCode int
The hash code for this object.
read-only, inherited
id String
The unique key of this class
read-only, inherited
isAttached bool
Check if the controller is attached to an Ad
read-only, inherited
isAvailable bool
Check if the time is available. If ad is not loaded, returns false If it has been the time of timeout since the last load, returns false
read-only, inherited
isDisposed bool
Check if the ad is disposed. You can dispose the ad by calling ad.dispose()
read-only, inherited
isLoaded bool
Check if the ad is loaded
@protected, read / write, inherited
lastLoadedTime DateTime?
@protected, read / write, inherited
loadTimeout Duration
The ad will stop loading after a specified time.
final, inherited
nonPersonalizedAds bool
Whether non-personalized ads (ads that are not based on a user’s past behavior) should be enabled.
final, inherited
onEvent Stream<Map<BannerAdEvent, dynamic>>
Listen to the events the controller throws
read-only, override
onEventController StreamController<Map<BannerAdEvent, dynamic>>
@protected, final, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
serverSideVerificationOptions ServerSideVerificationOptions?
Server Side Verification - Info such as userId and customData
final, inherited
timeout Duration
The time the ad can be kept loaded.
final, inherited
unitId String?
The unit id used on this ad. Can be null
final, inherited


attach([bool attach = true]) → void
Attach the controller to an Ad Throws an AssertionException if the controller is already attached.
@mustCallSuper, inherited
dispose() → void
Dispose the controller to free up resources. Once disposed, the controller can not be used anymore
ensureAdAvailable() → void
@protected, inherited
ensureAdNotDisposed() → void
@protected, inherited
init() → void
Initialize the controller. This can be called only by the controller
load({bool force = false, Duration? timeout}) Future<bool>
Load the ad. The ad needs to be loaded to be rendered.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed.
show() Future<bool>
toString() String
A string representation of this object.


operator ==(Object other) bool
The equality operator.

Static Properties

testUnitId String
The test id for this ad.