App-Open Ads
A full-screen ad displayed when the app is launched or foregrounded.
iOS
final class AppOpenAdManager: NSObject, ObservableObject, FuseFullScreenAdViewDelegate {
private let ad: FuseFullScreenAdView
init(code: String) {
ad = FuseFullScreenAdView(code: code)
ad.delegate = self
}
func showAd() {
ad.show()
}
func onEvent(adView: FuseFullScreenAdView, event: FuseAdViewEvent) {
print("Ad event: \(event)")
}
}
@main
struct iosApp: App {
@StateObject private var adManager = AppOpenAdManager(code: "<zone_code>")
var body: some Scene {
WindowGroup {
MainView()
// Display ad on app foreground with 1 second display timeout
.onReceive(NotificationCenter.default.publisher(for: UIApplication.didBecomeActiveNotification)) { _ in
adManager.showAd(timeout: 1)
}
}
}
}
For more examples, see the iOS example repository.
Android
class DemoApplication :
Application(),
Application.ActivityLifecycleCallbacks,
DefaultLifecycleObserver {
private var currentActivity: Activity? = null
private var ad = FuseFullScreenAdView(this, "<zone_code>").apply {
listener = object : FuseFullScreenAdViewListener {
override fun onEvent(
adView: FuseFullScreenAdView,
event: FuseAdViewEvent,
) {
println("Ad event: $event")
}
}
}
override fun onCreate() {
super<Application>.onCreate()
registerActivityLifecycleCallbacks(this)
ProcessLifecycleOwner.get().lifecycle.addObserver(this)
}
override fun onStart(owner: LifecycleOwner) {
super.onStart(owner)
// Show the ad (if available) when the app moves to foreground
currentActivity?.let {
ad?.show(it, 1000)
}
}
// ActivityLifecycleCallback methods
override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) {}
override fun onActivityStarted(activity: Activity) {
// Updating the currentActivity only when an ad is not showing
if (activity !is AdActivity) {
currentActivity = activity
}
}
override fun onActivityResumed(activity: Activity) {}
override fun onActivityPaused(activity: Activity) {}
override fun onActivityStopped(activity: Activity) {}
override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle) {}
override fun onActivityDestroyed(activity: Activity) {}
}
For more examples, see the Android example repository.
Flutter
App-open ads in Flutter follow the same pattern as interstitial ads. Create a FuseFullScreenAdView and call show() when the app enters the foreground. See the Interstitial section for the base implementation.