Events
You can observe the lifecycle of a FuseAdView by listening to its emitted events.
Currently, the following events are available:
- An ad has started loading
- An ad has finished loading successfully
- An error occurred while loading an ad
- An ad impression was recorded
- The ad view size changed
Android
To listen for events on Android, implement the FuseAdViewListener interface and add it to your FuseAdView instance:
class EventListener : FuseAdViewListener {
override fun onEvent(adView: FuseAdView, event: FuseAdViewEvent) {
println("Fuse Event: $event")
}
override fun onSizeChanged(adView: FuseAdView, width: Int, height: Int) {
println("Size changed to ${width}x$height")
}
}
val adView = FuseAdView(context, code = "<zone_code>")
adView.addListener(EventListener())
Jetpack Compose
In Jetpack Compose, pass an event handler lambda to ComposeFuseAdView:
fun onEvent(adView: FuseAdView, event: FuseAdViewEvent) {
println("Fuse Event: $event")
}
fun onSizeChanged(adView: FuseAdView, width: Int, height: Int) {
println("Size changed to ${width}x$height")
}
ComposeFuseAdView(
code = "<zone_code>",
onEvent = ::onEvent,
onSizeChanged = ::onSizeChanged,
)
iOS
On iOS, set the delegate property of FuseAdView to an object that implements the FuseAdViewDelegate protocol:
class EventDelegate: NSObject, FuseAdViewDelegate {
func onEvent(adView: FuseAdView, event: FuseAdViewEvent) {
print("Fuse Event: \(event)")
}
func onSizeChanged(adView: FuseAdView, size: CGSize) {
print("Size changed to \(size.width)x\(size.height)")
}
}
let adView = FuseAdView(code: "<zone_code>")
adView.delegate = EventDelegate()
SwiftUI
In SwiftUI, provide an event handler when creating a FuseAdViewRepresentable instance:
FuseAdViewRepresentable(
code: "<zone_code>",
)
.onEvent({ adView, event in
print("Fuse Event: \(event)")
})
.onSizeChanged({ adView, size in
print("Size changed to \(size.width)x\(size.height)")
})
Flutter
FuseAdView(
code: "example_fixed_size_banner",
params: FuseAdViewParams(
customTargeting: {
"sport": "basketball",
"size": "small"
},
contentUrls: [
"https://www.publift.com/about"
]
),
onEvent: ({event}) {
debugPrint("Fuse Event: $event")
},
onSizeChanged: ({width, height}) {
debugPrint("Size changed to $width x $height");
},
)